ALTER NOTEBOOK

Modifies the properties of an existing notebook.

Syntax

ALTER NOTEBOOK [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER NOTEBOOK [ IF EXISTS ] <name> SET
  [ VERSION = '<version_alias_name>' ]
  [ COMMENT = '<string_literal>' ]
  [ DEFAULT_VERSION = '<default_version_name_or_alias>' ]
  [ QUERY_WAREHOUSE = <warehouse_to_run_nb_and_sql_queries_in> ]
  [ IDLE_AUTO_SHUTDOWN_TIME_SECONDS = <number_of_seconds> ]
  [ SECRETS = ('<secret_variable_name>' = <secret_name>) [ , ... ] ]

ALTER NOTEBOOK [ IF EXISTS ] <name> UNSET
  [ QUERY_WAREHOUSE ]
  [ COMMENT ]

ALTER NOTEBOOK <name> ADD LIVE VERSION
  [ FROM LAST ]
  [ COMMENT = '<string_literal>' ]

ALTER NOTEBOOK <name> COMMIT [ VERSION '<live_version_alias>' ] [ COMMENT = '<string_literal>' ]
Copy

Parameters

name

Specifies the identifier for the notebook to alter.

If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case-sensitive.

For more information, see Identifier requirements.

RENAME TO new_name

Changes the name of the notebook to new_name. The new identifier must be unique for the schema.

For more details about identifiers, see Identifier requirements.

You can move the object to a different database and/or schema while optionally renaming the object. To do so, specify a qualified new_name value that includes the new database and/or schema name in the form db_name.schema_name.object_name or schema_name.object_name, respectively.

Note

  • The destination database and/or schema must already exist. In addition, an object with the same name cannot already exist in the new location; otherwise, the statement returns an error.

  • Moving an object to a managed access schema is prohibited unless the object owner (that is, the role that has the OWNERSHIP privilege on the object) also owns the target schema.

When an object is renamed, other objects that reference it must be updated with the new name.

SET ...

Sets one or more specified properties or parameters for the notebook:

VERSION = 'version_alias_name'

User specified version alias. An identifier sharing the same namespace with the auto-generated version name identifier. It must follow these rules:

  • Unique for the notebook in which the version is created

  • Isn’t set to FIRST, LAST, LIVE, or DEFAULT. These are reserved keywords.

  • Doesn’t start with version$. The auto-generated version names start with version$.

  • Doesn’t contain slashes.

The following are examples of valid version alias names.

  • 1.0.0

  • prod-1.1.0

COMMENT = 'string_literal'

Sets a comment for the notebook or version of the notebook.

DEFAULT_VERSION = 'version_name'

Sets the default version of the notebook. The version name is an identifier.

Default: LAST

QUERY_WAREHOUSE = warehouse_name

Specifies the warehouse where SQL queries in the notebook are run. This parameter is optional. However, it is required to run the EXECUTE NOTEBOOK command.

IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_seconds

Number of seconds of idle time before the notebook is shut down automatically. This parameter is only available for notebooks running on the container runtime. The value must be an integer between 60 and 259200 (72 hours).

Default: 3600 seconds

SECRETS = '(secret_variable_name' = secret_name [ , ... ])

Sets secret variables for the notebook.

  • secret_variable_name - The variable that will be used in the notebook cell when retrieving information from the secret.

  • secret_name - The name of the Snowflake secret.

UNSET ...

Unsets one or more specified properties or parameters for the notebook, which resets the properties to the defaults:

  • QUERY_WAREHOUSE

  • COMMENT

To unset multiple properties or parameters with a single ALTER statement, separate each property or parameter with a comma.

When unsetting a property or parameter, specify only the property or parameter name (unless the syntax above indicates that you should specify the value). Specifying the value returns an error.

ADD LIVE VERSION

Adds a LIVE version to the notebook (the version that gets invoked for EXECUTE NOTEBOOK).

FROM LAST

Sets the LIVE version to the LAST version of the notebook.

COMMENT = 'string_literal''

Sets a comment for the notebook or version of the notebook.

COMMIT

If a Git connection is set up for the notebook, commits the LIVE version of the notebook to the Git repository.

If no Git repository is setup for the notebook, running this command sets the LIVE version to null and increments the auto-generated version alias.

Access control requirements

A role used to execute this SQL command must have the following privileges at a minimum:

Privilege

Object

Notes

USAGE or OWNERSHIP

Notebook

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object.

Note that operating on any object in a schema also requires the USAGE privilege on the parent database and schema.

For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.

For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.

Usage notes

  • Regarding metadata:

    Attention

    Customers should ensure that no personal data (other than for a User object), sensitive data, export-controlled data, or other regulated data is entered as metadata when using the Snowflake service. For more information, see Metadata fields in Snowflake.

Examples

The following example renames the notebook named my_notebook to notebook_v2:

ALTER NOTEBOOK my_notebook RENAME notebook_v2;
Copy

The following example unsets the QUERY_WAREHOUSE property:

ALTER NOTEBOOK my_notebook UNSET QUERY_WAREHOUSE;
Copy

The following example sets the current LAST version of my_notebook to the LIVE version:

ALTER notebook my_notebook ADD LIVE VERSION FROM LAST;
Copy

The following example commits the current LIVE version of my_notebook:

ALTER NOTEBOOK my_notebook COMMIT;
Copy