Azure SQL Database Managed Instance と SQL Server の T-SQL の相違点Azure SQL Database Managed Instance T-SQL differences from SQL Server

Azure SQL Database Managed Instance は、オンプレミスの SQL Server データベース エンジンとの高い互換性を備えています。Azure SQL Database Managed Instance provides high compatibility with on-premises SQL Server Database Engine. SQL Server データベース エンジンのほとんどの機能がマネージド インスタンスでサポートされています。Most of the SQL Server Database Engine features are supported in Managed Instance. ただし、構文と動作に違いがあるため、この記事ではこれらの違いについて説明します。Since there are still some differences in syntax and behavior, this article summarizes and explains these differences.

SQL Server の T-SQL との相違点T-SQL differences from SQL Server

このセクションでは、マネージド インスタンスとオンプレミスの SQL Server データベース エンジンの T-SQL の構文および動作の主な相違点と、サポートされていない機能について簡単に説明します。This section summarizes key differences in T-SQL syntax and behavior between Managed Instance and on-premises SQL Server Database Engine, as well as unsupported features.

Always-on 可用性Always-On availability

高可用性はマネージド インスタンスに組み込まれており、ユーザーが制御することはできません。High availability is built into Managed Instance and cannot be controlled by users. 次のステートメントはサポートされていません。The following statements are not supported:

監査Auditing

マネージド インスタンス、Azure SQL Database、オンプレミスの SQL Server の SQL 監査の主な相違点は次のとおりです。The key differences between SQL Audit in Managed Instance, Azure SQL Database, and SQL Server on-premises are:

  • マネージド インスタンスでは、SQL 監査はサーバー レベルで機能し、Azure BLOB ストレージ アカウントに .xel ファイルが保存されます。In Managed Instance, SQL Audit works at the server level and stores .xel files on Azure blob storage account.
  • Azure SQL Database では、SQL 監査はデータベース レベルで機能します。In Azure SQL Database, SQL Audit works at the database level.
  • オンプレミス/仮想マシンの SQL Server では、SQL 監査はサーバー レベルで機能しますが、イベントはファイル システム/Windows イベント ログに保存されます。In SQL Server on-premises / virtual machine, SQL Audit works at the server level, but stores events on files system/windows event logs.

マネージド インスタンスの XEvent 監査では、対象として Azure Blob Storage をサポートしています。XEvent auditing in Managed Instance supports Azure blob storage targets. ファイル ログと Windows ログはサポートされていません。File and windows logs are not supported.

Azure Blob Storage の監査の CREATE AUDIT 構文の主な相違点は次のとおりです。The key differences in the CREATE AUDIT syntax for Auditing to Azure blob storage are:

  • 新しい TO URL 構文が用意されています。この構文を使用して、.xel ファイルを配置する Azure blob Storage コンテナーの URL を指定できます。A new syntax TO URL is provided and enables you to specify URL of the Azure blob Storage container where .xel files will be placed
  • マネージド インスタンスは Windows ファイル共有にアクセスできないため、TO FILE 構文はサポートされていません。The syntax TO FILE is not supported because Managed Instance cannot access Windows file shares.

詳細については、次を参照してください。For more information, see:

BackupBackup

マネージド インスタンスには自動バックアップがあり、ユーザーは完全なデータベースの COPY_ONLY バックアップを作成できます。Managed Instance has automatic backups, and enables users to create full database COPY_ONLY backups. 差分、ログ、ファイル スナップショットの各バックアップはサポートされていません。Differential, log, and file snapshot backups are not supported.

  • マネージド インスタンスでは、Azure BLOB ストレージ アカウントにのみデータベースをバックアップできます。Managed Instance can back up a database only to an Azure Blob Storage account:
    • BACKUP TO URL だけがサポートされています。Only BACKUP TO URL is supported
    • FILETAPE、バックアップ デバイスはサポートされていません。FILE, TAPE, and backup devices are not supported
  • ほとんどの一般的な WITH オプションがサポートされています。Most of the general WITH options are supported
    • COPY_ONLY は必須です。COPY_ONLY is mandatory
    • FILE_SNAPSHOT はサポートされていません。FILE_SNAPSHOT not supported
    • テープ オプション: REWINDNOREWINDUNLOADNOUNLOAD はサポートされていません。Tape options: REWIND, NOREWIND, UNLOAD, and NOUNLOAD are not supported
    • ログ固有のオプション: NORECOVERYSTANDBYNO_TRUNCATE はサポートされていません。Log-specific options: NORECOVERY, STANDBY, and NO_TRUNCATE are not supported

制限事項: Limitations:

  • マネージド インスタンスでは、最大 32 個のストライプを使用するバックアップにデータベースをバックアップできます。バックアップの圧縮を使用した場合、このバックアップで最大 4 TB のデータベースに十分対応できます。Managed Instance can back up a database to a backup with up to 32 stripes, which is enough for the databases up to 4 TB if backup compression is used.
  • 最大バックアップ ストライプ サイズは 195 GB (最大 BLOB サイズ) です。Max backup stripe size is 195 GB (maximum blob size). バックアップ コマンドのストライプ数を増やして、個々のストライプ サイズを小さくし、この制限を超えないようにします。Increase the number of stripes in the backup command to reduce individual stripe size and stay within this limit.

ヒント

オンプレミスでこの制限を回避するには、URL ではなく DISK にバックアップし、バックアップ ファイルを BLOB にアップロードしてから復元します。To work around this limitation on-premises, backup to DISK instead of backup to URL, upload backup file to blob, then restore. 別の BLOB の種類が使用されるため、復元ではより大きなファイルがサポートされます。Restore supports bigger files because a different blob type is used.

T-SQL を使用したバックアップについては、BACKUP に関する記事をご覧ください。For information about backups using T-SQL, see BACKUP.

バッファー プール拡張機能Buffer pool extension

一括挿入/openrowsetBulk insert / openrowset

マネージド インスタンスはファイル共有と Windows フォルダーにはアクセスできないので、Azure Blob Storage からファイルをインポートする必要があります。Managed Instance cannot access file shares and Windows folders, so the files must be imported from Azure blob storage.

  • Azure Blob Storage からファイルをインポートするときは、BULK INSERT コマンドで DATASOURCE が必須になります。DATASOURCE is required in BULK INSERT command while importing files from Azure blob storage. BULK INSERT に関する記事をご覧ください。See BULK INSERT.
  • Azure Blob Storage からファイルの内容を読み取るときは、OPENROWSET 関数で DATASOURCE が必須になります。DATASOURCE is required in OPENROWSET function when you read a content of a file from Azure blob storage. OPENROWSET に関する記事をご覧ください。See OPENROWSET.

証明書Certificates

マネージド インスタンスはファイル共有と Windows フォルダーにはアクセスできないので、次の制約が適用されます。Managed Instance cannot access file shares and Windows folders, so the following constraints apply:

  • ファイルからの作成/ファイルへのバックアップ (CREATE FROM/BACKUP TO) は、証明書ではサポートされていません。CREATE FROM/BACKUP TO file is not supported for certificates
  • ファイル/アセンブリ (FILE/ASSEMBLY) からの証明書の作成/バックアップ (CREATE/BACKUP) はサポートされていません。CREATE/BACKUP certificate from FILE/ASSEMBLY is not supported. 秘密キー ファイルは使用できません。Private key files cannot be used.

CREATE CERTIFICATE に関する記事、および BACKUP CERTIFICATE に関する記事をご覧ください。See CREATE CERTIFICATE and BACKUP CERTIFICATE.

ヒント

対処法: 証明書/秘密キーのスクリプトを作成し、.sql ファイルとして保存してバイナリから作成します。Workaround: script certificate/private key, store as .sql file and create from binary:

CREATE CERTIFICATE  
 FROM BINARY = asn_encoded_certificate    
WITH PRIVATE KEY ( <private_key_options> ) 

CLRCLR

マネージド インスタンスはファイル共有と Windows フォルダーにはアクセスできないので、次の制約が適用されます。Managed Instance cannot access file shares and Windows folders, so the following constraints apply:

互換性レベルCompatibility levels

  • サポートされている互換性レベルは、100、110、120、130、140 です。Supported compatibility levels are: 100, 110, 120, 130, 140
  • 100 より低い互換性レベルはサポートされていません。Compatibility levels below 100 are not supported.
  • 新しいデータベースの既定の互換性レベルは 140 です。The default compatibility level for new databases is 140. 互換性レベルが 100 以上のデータベースが復元された場合、互換性レベルは変更されません。For restored databases, compatibility level will remain unchanged if it was 100 and above.

ALTER DATABASE の互換性レベルに関する記事をご覧ください。See ALTER DATABASE Compatibility Level.

資格情報Credential

Azure Key Vault と SHARED ACCESS SIGNATURE の ID だけがサポートされています。Only Azure Key Vault and SHARED ACCESS SIGNATURE identities are supported. Windows ユーザーはサポートされていません。Windows users are not supported.

CREATE CREDENTIAL に関する記事、および ALTER CREDENTIAL に関する記事をご覧ください。See CREATE CREDENTIAL and ALTER CREDENTIAL.

暗号化プロバイダーCryptographic providers

マネージド インスタンスはファイルにアクセスできないため、暗号化プロバイダーは作成できません。Managed Instance cannot access files so cryptographic providers cannot be created:

CollationCollation

サーバーの照合順序は SQL_Latin1_General_CP1_CI_AS であり、変更することはできません。Server collation is SQL_Latin1_General_CP1_CI_AS and cannot be changed. 照合順序」をご覧ください。See Collations.

データベース オプションDatabase options

  • 複数のログ ファイルはサポートされていません。Multiple log files are not supported.
  • インメモリ オブジェクトは、General Purpose サービス レベルではサポートされていません。In-memory objects are not supported in the General Purpose service tier.
  • インスタンスあたり 280 ファイル (データベースあたり最大 280 ファイル) の制限があります。There is a limit of 280 files per instance implying max 280 files per database. データ ファイルとログ ファイルの両方がこの制限にカウントされます。Both data and log files are counted toward this limit.
  • filestream データを含むファイル グループをデータベースに含めることはできません。Database cannot contain filegroups containing filestream data. .bak に FILESTREAM データが含まれていると、復元は失敗します。Restore will fail if .bak contains FILESTREAM data.
  • すべてのファイルが Azure Premium Storage に配置されます。Every file is placed in Azure Premium storage. Azure Premium Storage ディスクの場合と同様に、ファイルあたりの IO とスループットは個々のファイルのサイズによって異なります。IO and throughput per file depend on the size of each individual file, in the same way as they do for Azure Premium Storage disks. Azure Premium ディスクのパフォーマンスに関するセクションをご覧ください。See Azure Premium disk performance

CREATE DATABASE ステートメントCREATE DATABASE statement

CREATE DATABASE ステートメントの制限事項は次のとおりです。The following are CREATE DATABASE limitations:

  • ファイルおよびファイル グループは定義できません。Files and filegroups cannot be defined.
  • CONTAINMENT オプションはサポートされていません。CONTAINMENT option is not supported.
  • WITH オプションはサポートされていません。WITHoptions are not supported.

    ヒント

    対処法として、CREATE DATABASE の後に ALTER DATABASE を使用して、ファイルの追加またはコンテインメントの設定を行うデータベース オプションを設定します。As workaround, use ALTER DATABASE after CREATE DATABASE to set database options to add files or to set containment.

  • FOR ATTACH オプションはサポートされていません。FOR ATTACH option is not supported

  • AS SNAPSHOT OF オプションはサポートされていません。AS SNAPSHOT OF option is not supported

詳細については、CREATE DATABASE に関する記事をご覧ください。For more information, see CREATE DATABASE.

ALTER DATABASE ステートメントALTER DATABASE statement

ファイルの一部のプロパティは設定または変更できません。Some file properties cannot be set or changed:

  • ALTER DATABASE ADD FILE (FILENAME='path') T-SQL ステートメントでは、ファイル パスは指定できません。File path cannot be specified in ALTER DATABASE ADD FILE (FILENAME='path') T-SQL statement. ファイルはマネージド インスタンスによって自動的に配置されるため、スクリプトから FILENAME を削除します。Remove FILENAME from the script because Managed Instance automatically places the files.
  • ALTER DATABASE ステートメントを使用してファイル名を変更することはできません。File name cannot be changed using ALTER DATABASE statement.

次のオプションは既定で設定されており、変更することはできません。The following options are set by default and cannot be changed:

  • MULTI_USER
  • ENABLE_BROKER ON
  • AUTO_CLOSE OFF

次のオプションは変更できません。The following options cannot be modified:

  • AUTO_CLOSE
  • AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
  • AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
  • DISABLE_BROKER
  • EMERGENCY
  • ENABLE_BROKER
  • FILESTREAM
  • HADR
  • NEW_BROKER
  • OFFLINE
  • PAGE_VERIFY
  • PARTNER
  • READ_ONLY
  • RECOVERY BULK_LOGGED
  • RECOVERY_SIMPLE
  • REMOTE_DATA_ARCHIVE
  • RESTRICTED_USER
  • SINGLE_USER
  • WITNESS

名前の変更はサポートされていません。Modify name is not supported.

詳細については、ALTER DATABASE に関する記事をご覧ください。For more information, see ALTER DATABASE.

データベース ミラーリングDatabase mirroring

データベース ミラーリングはサポートされていません。Database mirroring is not supported.

  • ALTER DATABASE SET PARTNER および SET WITNESS オプションはサポートされていません。ALTER DATABASE SET PARTNER and SET WITNESS options are not supported.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING はサポートされていません。CREATE ENDPOINT … FOR DATABASE_MIRRORING is not supported.

詳細については、ALTER DATABASE の SET PARTNER と SET WITNESS、および CREATE ENDPOINT … FOR DATABASE_MIRRORING の説明をご覧ください。For more information, see ALTER DATABASE SET PARTNER and SET WITNESS and CREATE ENDPOINT … FOR DATABASE_MIRRORING.

DBCCDBCC

SQL Server で有効になっている、ドキュメントに記載されていない DBCC ステートメントは、マネージド インスタンスではサポートされていません。Undocumented DBCC statements that are enabled in SQL Server are not supported in Managed Instance.

  • Trace Flags はサポートされていません。Trace Flags are not supported. トレース フラグに関する記事をご覧ください。See Trace Flags.
  • DBCC TRACEOFF はサポートされていません。DBCC TRACEOFF is not supported. DBCC TRACEOFF に関する記事をご覧ください。See DBCC TRACEOFF.
  • DBCC TRACEON はサポートされていません。DBCC TRACEON is not supported. DBCC TRACEON に関する記事をご覧ください。See DBCC TRACEON.

分散トランザクションDistributed transactions

MSDTC もエラスティック トランザクションも現在、Managed Instance ではサポートされていません。Neither MSDTC nor Elastic Transactions are currently supported in Managed Instance.

拡張イベントExtended Events

XEvents の一部の Windows 固有のターゲットはサポートされていません。Some Windows-specific targets for XEvents are not supported:

  • etw_classic_sync target はサポートされていません。etw_classic_sync target is not supported. Azure Blob Storage に .xel ファイルを保存します。Store .xel files on Azure blob storage. etw_classic_sync ターゲット」をご覧ください。See etw_classic_sync target.
  • event_file target はサポートされていません。event_file targetis not supported. Azure Blob Storage に .xel ファイルを保存します。Store .xel files on Azure blob storage. event_file ターゲット」をご覧ください。See event_file target.

外部ライブラリExternal libraries

In-Database R および In-Database Python 外部ライブラリはまだサポートされていません。In-database R and Python external libraries are not yet supported. SQL Server Machine Learning Services」をご覧ください。See SQL Server Machine Learning Services.

Filestream と FiletableFilestream and Filetable

  • filestream データはサポートされていません。filestream data is not supported.
  • FILESTREAM データを含むファイル グループをデータベースに含めることはできません。Database cannot contain filegroups with FILESTREAM data
  • FILETABLE はサポートされていません。FILETABLE is not supported
  • テーブルに FILESTREAM 型を含めることはできません。Tables cannot have FILESTREAM types
  • 次の関数はサポートされていません。The following functions are not supported:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePath()
    • FileTableRootPath()

詳細については、FILESTREAM に関する記事、および FileTables に関する記事をご覧ください。For more information, see FILESTREAM and FileTables.

セマンティック検索はサポートされていません。Semantic Search is not supported.

リンク サーバーLinked servers

マネージド インスタンスのリンク サーバーがサポートするターゲットの数は限られています。Linked servers in Managed Instance support limited number of targets:

  • サポートされるターゲット: SQL Server と SQL DatabaseSupported targets: SQL Server and SQL Database
  • サポートされていないターゲット: Analysis Services、他の RDBMSNot supported targets: files, Analysis Services, and other RDBMS.

[操作]Operations

  • クロス インスタンス書き込みトランザクションはサポートされていません。Cross-instance write transactions are not supported.
  • リンク サーバーの削除で sp_dropserver がサポートされています。sp_dropserver is supported for dropping a linked server. sp_dropserver に関する記事をご覧ください。See sp_dropserver.
  • SQL Server インスタンス (マネージド、オンプレミス、または仮想マシン内) でのみ、OPENROWSET 関数を使用してクエリを実行できます。OPENROWSET function can be used to execute queries only on SQL Server instances (either managed, on-premises, or in Virtual Machines). OPENROWSET に関する記事をご覧ください。See OPENROWSET.
  • SQL Server インスタンス (マネージド、オンプレミス、または仮想マシン内) でのみ、OPENDATASOURCE 関数を使用してクエリを実行できます。OPENDATASOURCE function can be used to execute queries only on SQL Server instances (either managed, on-premises, or in virtual machines). プロバイダーとしてサポートされる値は、SQLNCLISQLNCLI11SQLOLEDB だけです。Only SQLNCLI, SQLNCLI11, and SQLOLEDB values are supported as provider. たとえば、「 SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee」のように入力します。For example: SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. OPENDATASOURCE に関する記事をご覧ください。See OPENDATASOURCE.

ログイン/ユーザーLogins / users

  • FROM CERTIFICATEFROM ASYMMETRIC KEYFROM SID を使用して作成された SQL ログインはサポートされています。SQL logins created FROM CERTIFICATE, FROM ASYMMETRIC KEY, and FROM SID are supported. CREATE LOGIN に関する記事をご覧ください。See CREATE LOGIN.
  • CREATE LOGIN ... FROM WINDOWS 構文を使用して作成された Windows ログインはサポートされていません。Windows logins created with CREATE LOGIN ... FROM WINDOWS syntax are not supported.
  • インスタンスを作成した Azure Active Directory (Azure AD) ユーザーは、制限のない管理特権を持ちます。Azure Active Directory (Azure AD) user who created the instance has unrestricted admin privileges.
  • 管理者以外の、データベース レベルの Azure Active Directory (Azure AD) ユーザーは、CREATE USER ... FROM EXTERNAL PROVIDER 構文を使用して作成できます。Non-administrator Azure Active Directory (Azure AD) database-level users can be created using CREATE USER ... FROM EXTERNAL PROVIDER syntax. CREATE USER ...FROM EXTERNAL PROVIDER に関するセクションをご覧ください。See CREATE USER ... FROM EXTERNAL PROVIDER

PolyBasePolybase

HDFS または Azure Blob Storage 内のファイルを参照する外部テーブルはサポートされていません。External tables referencing the files in HDFS or Azure blob storage are not supported. PolyBase については、PolyBase に関する記事をご覧ください。For information about Polybase, see Polybase.

レプリケーションReplication

マネージド インスタンスのパブリック プレビューで、レプリケーションを使用できます。Replication is available for public preview on Managed Instance. レプリケーションについては、「SQL Server のレプリケーション」をご覧ください。For information about Replication, see SQL Server Replication.

RESTORE ステートメントRESTORE statement

  • サポートされている構文Supported syntax
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • サポートされていない構文Unsupported syntax
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • ソースSource
    • サポートされているオプションは、FROM URL (Azure Blob Storage) だけです。FROM URL (Azure blob storage) is only supported option.
    • FROM DISK/TAPE/バックアップ デバイスはサポートされていません。FROM DISK/TAPE/backup device is not supported.
    • バックアップ セットはサポートされていません。Backup sets are not supported.
  • WITH オプションはサポートされていません (DIFFERENTIALSTATS などは使用不可)。WITH options are not supported (No DIFFERENTIAL, STATS, etc.)
  • ASYNC RESTORE - クライアント接続が切断されても、復元は続行されます。ASYNC RESTORE - Restore continues even if client connection breaks. 接続が破棄された場合は、sys.dm_operation_status ビューで復元操作の状態 (およびデータベースの CREATE 操作と DROP 操作) を確認できます。If your connection is dropped, you can check sys.dm_operation_status view for the status of a restore operation (as well as for CREATE and DROP database). sys.dm_operation_status に関する記事をご覧ください。See sys.dm_operation_status.

次のデータベース オプションを設定/オーバーライドします。これらを後で変更することはできません。The following database options are set/overridden and cannot be changed later:

  • NEW_BROKER (.bak ファイルでブローカーが有効になっていない場合)NEW_BROKER (if broker is not enabled in .bak file)
  • ENABLE_BROKER (.bak ファイルでブローカーが有効になっていない場合)ENABLE_BROKER (if broker is not enabled in .bak file)
  • AUTO_CLOSE=OFF (.bak ファイル内のデータベースに AUTO_CLOSE=ON が設定されている場合)AUTO_CLOSE=OFF (if a database in .bak file has AUTO_CLOSE=ON)
  • RECOVERY FULL (.bak ファイル内のデータベースが SIMPLE または BULK_LOGGED 回復モードの場合)RECOVERY FULL (if a database in .bak file has SIMPLE or BULK_LOGGED recovery mode)
  • メモリ最適化ファイル グループが追加され、XTP という名前が付けられます (ソース .bak ファイルに含まれていなかった場合)。Memory optimized filegroup is added and called XTP if it was not in the source .bak file
  • 既存のメモリ最適化ファイル グループの名前が XTP に変更されます。Any existing memory optimized filegroup is renamed to XTP
  • SINGLE_USER および RESTRICTED_USER オプションは、MULTI_USER に変換されます。SINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER
    制限事項: Limitations:
  • 複数のバックアップ セットを含む .BAK ファイルは復元できません。.BAK files containing multiple backup sets cannot be restored.
  • 複数のログ ファイルを含む .BAK ファイルは復元できません。.BAK files containing multiple log files cannot be restored.
  • .bak に FILESTREAM データが含まれていると、復元は失敗します。Restore will fail if .bak contains FILESTREAM data.
  • 現時点では、アクティブなインメモリ オブジェクトが存在するデータベースが含まれたバックアップは復元できません。Backups containing databases that have active In-memory objects cannot currently be restored.
  • 現時点では、ある時点でインメモリ オブジェクトが存在していたデータベースが含まれたバックアップは復元できません。Backups containing databases where at some point In-Memory objects existed cannot currently be restored.
  • 現時点では、読み取り専用モードのデータベースが含まれたバックアップは復元できません。Backups containing databases in read-only mode cannot currently be restored. この制限は間もなく削除されます。This limitation will be removed soon.

RESTORE ステートメントについては、RESTORE ステートメントに関する記事をご覧ください。For information about Restore statements, see RESTORE Statements.

Service BrokerService broker

  • クロス インスタンス Service Broker はサポートされていません。Cross-instance service broker is not supported
    • sys.routes - 前提条件: sys.routes からアドレスを選択します。sys.routes - Prerequisite: select address from sys.routes. アドレスは、各ルートで LOCAL である必要があります。Address must be LOCAL on every route. sys.routes に関する記事をご覧ください。See sys.routes.
    • CREATE ROUTE - LOCAL 以外の ADDRESS を使用して、CREATE ROUTE を実行することはできません。CREATE ROUTE - you cannot CREATE ROUTE with ADDRESS other than LOCAL. CREATE ROUTE に関する記事をご覧ください。See CREATE ROUTE.
    • ALTER ROUTE - LOCAL 以外の ADDRESS を使用して、ALTER ROUTE を実行することはできません。ALTER ROUTE cannot ALTER ROUTE with ADDRESS other than LOCAL. ALTER ROUTE に関する記事をご覧ください。See ALTER ROUTE.

サービス キーとサービス マスター キーService key and service master key

ストアド プロシージャ、関数、トリガーStored procedures, functions, triggers

  • NATIVE_COMPILATION は現在サポートされていません。NATIVE_COMPILATION is currently not supported.
  • sp_configure の次のオプションはサポートされていません。The following sp_configure options are not supported:
    • allow polybase export
    • allow updates
    • filestream_access_level
    • max text repl size
    • remote data archive
    • remote proc trans
  • sp_execute_external_scripts はサポートされていません。sp_execute_external_scripts is not supported. sp_execute_external_scripts に関するセクションをご覧ください。See sp_execute_external_scripts.
  • xp_cmdshell はサポートされていません。xp_cmdshell is not supported. xp_cmdshell に関する記事をご覧ください。See xp_cmdshell.
  • sp_addextendedprocsp_dropextendedproc など、Extended stored procedures はサポートされていません。Extended stored procedures are not supported, including sp_addextendedproc and sp_dropextendedproc. 拡張ストアド プロシージャに関する記事をご覧ください。See Extended stored procedures
  • sp_attach_dbsp_attach_single_file_dbsp_detach_db はサポートされていません。sp_attach_db, sp_attach_single_file_db, and sp_detach_db are not supported. sp_attach_dbsp_attach_single_file_dbsp_detach_db に関する各記事をご覧ください。See sp_attach_db, sp_attach_single_file_db, and sp_detach_db.
  • sp_renamedb はサポートされていません。sp_renamedb is not supported. sp_renamedb に関する記事をご覧ください。See sp_renamedb.

SQL Server エージェントSQL Server Agent

  • SQL エージェントの設定は読み取り専用です。SQL Agent settings are read only. sp_set_agent_properties プロシージャは、マネージド インスタンスではサポートされていません。Procedure sp_set_agent_properties is not supported in Managed Instance.
  • ジョブ - 現在、T-SQL ジョブ ステップがサポートされています。Jobs - T-SQL job steps are currently supported
  • 他の種類のジョブ ステップは現在、サポートされていません (パブリック プレビュー期間に、ステップの種類がさらに追加される予定です)。Other types of job steps are not currently supported (more step types will be added during public preview).
    • サポートされていないレプリケーション ジョブには、次が含まれます。Replication jobs not supported including:
      • トランザクション ログ リーダー。Transaction-log reader.
      • スナップショット。Snapshot.
      • ディストリビューター。Distributor.
      • マージ。Merge.
    • SSIS はまだサポートされていません。SSIS is not yet supported.
    • キュー リーダーはサポートされていません。Queue Reader is not supported.
    • コマンド シェルはまだサポートされていません。Command shell is not yet supported.
    • マネージド インスタンスは、外部リソース (例: robocopy を介したネットワーク共有) にはアクセスできません。Managed Instance cannot access external resources (for example, network shares via robocopy).
    • PowerShell はまだサポートされていません。PowerShell is not yet supported.
    • Analysis Services はサポートされていません。Analysis Services are not supported.
  • 通知は部分的にサポートされています。Notifications are partially supported.
  • 電子メール通知がサポートされていますが、データベース メール プロファイルを構成する必要があります。Email notification is supported, requires configuring a Database Mail profile. データベース メール プロファイルは 1 つしか存在できず、パブリック プレビューでは AzureManagedInstance_dbmail_profile という名前である必要があります (一時的な制限)。There can be only one database mail profile and it must be called AzureManagedInstance_dbmail_profile in public preview (temporary limitation).
    • ポケットベルはサポートされていません。Pager is not supported.
    • NetSend はサポートされていません。NetSend is not supported.
    • アラートはまだサポートされていません。Alerts are not yet not supported.
    • プロキシはサポートされていません。Proxies are not supported.
  • Eventlog はサポートされていません。Eventlog is not supported.

次の機能は現在サポートされていませんが、今後有効になります。The following features are currently not supported but will be enabled in future:

  • プロキシProxies
  • アイドル状態の CPU でのジョブのスケジューリングScheduling jobs on idle CPU
  • エージェントの有効化/無効化Enabling/disabling Agent
  • アラートAlerts

SQL Server エージェントについては、「SQL Server エージェント」をご覧ください。For information about SQL Server Agent, see SQL Server Agent.

テーブルTables

次の要素はサポートされていません。The following are not supported:

  • FILESTREAM
  • FILETABLE
  • EXTERNAL TABLE
  • MEMORY_OPTIMIZED

テーブルの作成と変更については、CREATE TABLE に関する記事および ALTER TABLE に関する記事をご覧ください。For information about creating and altering tables, see CREATE TABLE and ALTER TABLE.

動作の変更Behavior changes

次の変数、関数、ビューは異なる結果を返します。The following variables, functions, and views return different results:

  • SERVERPROPERTY('EngineEdition') は 8 を返します。SERVERPROPERTY('EngineEdition') returns value 8. このプロパティは、マネージド インスタンスを一意に識別します。This property uniquely identifies Managed Instance. SERVERPROPERTY に関する記事をご覧ください。See SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName') は NULL を返します。これは SQL Server に関して存在するインスタンスの概念が、マネージド インスタンスには該当しないためです。SERVERPROPERTY('InstanceName') returns NULL, because the concept of instance as it exists for SQL Server does not apply to Managed Instance. SERVERPROPERTY('InstanceName') に関する説明をご覧ください。See SERVERPROPERTY('InstanceName').
  • @@SERVERNAME は、"接続可能な" 完全 DNS 名を返します (例: my-managed-instance.wcus17662feb9ce98.database.windows.net)。@@SERVERNAME returns full DNS 'connectable' name, for example, my-managed-instance.wcus17662feb9ce98.database.windows.net. @@SERVERNAME に関する記事をご覧ください。See @@SERVERNAME.
  • SYS.SERVERS - "name" プロパティと "data_source" プロパティを表す myinstance.domain.database.windows.net のような、"接続可能な" 完全 DNS 名を返します。SYS.SERVERS - returns full DNS 'connectable' name, such as myinstance.domain.database.windows.net for properties 'name' and 'data_source'. SYS.SERVERS に関する記事をご覧ください。See SYS.SERVERS.
  • @@SERVICENAME は NULL を返します。これは SQL Server に関して存在するサービスの概念が、マネージド インスタンスには該当しないためです。@@SERVICENAME returns NULL, because the concept of service as it exists for SQL Server does not apply to Managed Instance. @@SERVICENAME に関する記事をご覧ください。See @@SERVICENAME.
  • SUSER_ID がサポートされています。SUSER_ID is supported. AAD ログインが sys.syslogins に含まれていない場合は、NULL を返します。Returns NULL if AAD login is not in sys.syslogins. SUSER_ID に関する記事をご覧ください。See SUSER_ID.
  • SUSER_SID はサポートされていません。SUSER_SID is not supported. 間違ったデータを返します (一時的な既知の問題)。Returns wrong data (temporary known issue). SUSER_SID に関する記事をご覧ください。See SUSER_SID.
  • GETDATE() と他の組み込みの日付/時刻関数は、常に UTC タイム ゾーンの時刻を返します。GETDATE() and other built-in date/time functions always returns time in UTC time zone. GETDATE に関する記事をご覧ください。See GETDATE.

既知の問題と制限事項Known issues and limitations

TEMPDB のサイズTEMPDB size

tempdb は、それぞれ最大サイズが 14 GB の 12 個のファイルに分割されます。tempdb is split into 12 files each with max size 14 GB per file. ファイルあたりのこの最大サイズは変更できず、tempdb に新しいファイルを追加することはできません。This maximum size per file cannot be changed and new files cannot be added to tempdb. この制限は間もなく削除されます。This limitation will be removed soon. 一部のクエリで tempdb のサイズが 168 GB を超える必要がある場合は、エラーが返されます。Some queries might return an error if they need more than 168 GB in tempdb.

小さなデータベース ファイルによる記憶域の超過Exceeding storage space with small database files

それぞれのマネージド インスタンスが、Azure Premium ディスク領域用に予約された最大 35 TB の記憶域を持ち、各データベース ファイルは別個の物理ディスク上に配置されます。Each Managed Instance has up to 35 TB storage reserved for Azure Premium Disk space, and each database file is placed on a separate physical disk. ディスク サイズとして、128 GB、256 GB、512 GB、1 TB、4 TB のいずれかを指定できます。Disk sizes can be 128 GB, 256 GB, 512 GB, 1 TB, or 4 TB. ディスク上の未使用領域については請求されませんが、Azure Premium ディスクのサイズ合計が 35 TB を超えることはできません。Unused space on disk is not charged, but the total sum of Azure Premium Disk sizes cannot exceed 35 TB. 場合によっては、内部の断片化のために、合計で 8 TB を必要としないマネージド インスタンスが、記憶域のサイズに関する 35 TB の Azure での制限を超える場合があります。In some cases, a Managed Instance that does not need 8 TB in total might exceed the 35 TB Azure limit on storage size, due to internal fragmentation.

たとえば、マネージド インスタンスは 4 TB のディスクに配置されている 1.2 TB のサイズのファイルを 1 つと、個別の 128 GB のディスクに配置されているそれぞれ 1 GB のサイズのファイルを 248 個持つことができます。For example, a Managed Instance could have one file 1.2 TB in size that is placed on a 4 TB disk, and 248 files each 1 GB ins size that are placed on separate 128 GB disks. この例では、In this example,

  • ディスク記憶域の合計サイズは、1 x 4 TB + 248 x 128 GB = 35 TB となります。the total disk storage size is 1 x 4 TB + 248 x 128 GB = 35 TB.
  • インスタンス上のデータベースの予約済み領域の合計は 1 x 1.2 TB + 248 x 1 GB = 1.4 TB となります。the total reserved space for databases on the instance is 1 x 1.2 TB + 248 x 1 GB = 1.4 TB. これは、特定の状況下では、非常に特殊なファイルの配分のために、マネージド インスタンスが、想定していなかったアタッチ済み Azure Premium ディスクに予約されている 35 TB に到達する可能性があることを示しています。This illustrates that under certain circumstance, due to a very specific distribution of files, a Managed Instance might reach the 35TB reserved for attached Azure Premium Disk when you might not expect it to.

この例では既存のデータベースは引き続き機能し、新しいファイルを追加しない限りは問題なく拡張できます。In this example existing databases will continue to work and can grow without any problem as long as new files are not added. ただし、すべてのデータベースの合計サイズがインスタンス サイズの上限に到達しない場合でも、新しいディスク ドライブ用の十分な領域がないため、新しいデータベースの作成や復元はできませんでした。However new databases could not be created or restored because there is not enough space for new disk drives, even if the total size of all databases does not reach the instance size limit. その場合に返されるエラーは明確ではありません。The error that is returned in that case is not clear.

データベースの復元時の SAS キーの構成が正しくないIncorrect configuration of SAS key during database restore

CREDENTIAL の Shared Access Signature が正しくない場合、.bak ファイルを読み取る RESTORE DATABASE が、.bak ファイルの読み取りの再試行を繰り返し、長時間経過した後にエラーを返すことがあります。RESTORE DATABASE that reads .bak file might be constantly retrying to read .bak file and return error after long period of time if Shared Access Signature in CREDENTIAL is incorrect. データベースを復元する前に RESTORE HEADERONLY を実行して、SAS キーが正しいことを確認します。Execute RESTORE HEADERONLY before restoring a database to be sure that SAS key is correct. Azure Portal を使用して生成された SAS キーから、先頭の ? を必ず削除してください。Make sure that you remove leading ? from the SAS key generated using Azure portal.

ツールTooling

SQL Server Management Studio と SQL Server Data Tools には、マネージド インスタンスにアクセスする際に問題がある可能性があります。SQL Server Management Studio and SQL Server Data Tools might have some issues while accessing Managed Instance. 一般公開の前に、ツールに関するすべての問題に対処する予定です。All tooling issues will be addressed before General Availability.

一部のビュー、ログ、およびメッセージでの不正なデータベース名Incorrect database names in some views, logs, and messages

複数のシステム ビュー、パフォーマンス カウンター、エラー メッセージ、XEvent、およびエラー ログ エントリで、実際のデータベース名ではなく GUID データベース識別子が表示されています。Several system views, performance counters, error messages, XEvents, and error log entries display GUID database identifiers instead of the actual database names. 将来、実際のデータベース名に置き換えられるため、これらの GUID 識別子には依存しないでください。Do not rely on these GUID identifiers because they would be replaced with actual database names in the future.

データベース メール プロファイルDatabase mail profile

データベース メール プロファイルは 1 つしか存在できず、AzureManagedInstance_dbmail_profile という名前である必要があります。There can be only one database mail profile and it must be called AzureManagedInstance_dbmail_profile. これは間もなく削除される一時的な制限です。This is a temporary limitation that will be removed soon.

エラー ログが非永続的であるError logs are not-persisted

マネージド インスタンスで利用可能なエラー ログは永続的ではなく、このログのサイズは、最大ストレージ上限には含まれません。Error logs that are available in managed instance are not persisted and their size is not included in the max storage limit. フェールオーバーが発生した場合、エラー ログは自動的に消去される可能性があります。Error logs might be automatically erased in case of failover.

エラー ログが詳細であるError logs are verbose

マネージド インスタンスでは、エラー ログに詳細情報が書き込まれ、その多くは関連のない内容です。Managed Instance places verbose information in error logs and many of them are not relevant. エラー ログの情報量は将来、減らされる予定です。The amount of information in error logs will be decreased in the future.

対処法: エラー ログを読み込む際にカスタムの手順を使用して、関連のない項目をフィルターで除外します。Workaround: Use a custom procedure for reading error logs that filter-out some non-relevant entries. 詳細については、「Azure SQL DB Managed Instance – sp_readmierrorlog」(英語) を参照してください。For details, see Azure SQL DB Managed Instance – sp_readmierrorlog.

同じインスタンス内にある 2 つのデータベース上でトランザクション スコープがサポートされないTransaction Scope on two databases within the same instance is not supported

同じトランザクション スコープ下では、同一インスタンス内にある 2 つのデータベースに対して 2 つのクエリが送信された場合、.Net の TransactionScope クラスが機能しません。TransactionScope class in .Net does not work if two queries are sent to the two databases within the same instance under the same transaction scope:

using (var scope = new TransactionScope())
{
    using (var conn1 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn1.Open();
        SqlCommand cmd1 = conn1.CreateCommand();
        cmd1.CommandText = string.Format("insert into T1 values(1)");
        cmd1.ExecuteNonQuery();
    }

    using (var conn2 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn2.Open();
        var cmd2 = conn2.CreateCommand();
        cmd2.CommandText = string.Format("insert into b.dbo.T2 values(2)");        cmd2.ExecuteNonQuery();
    }

    scope.Complete();
}

このコードは同一インスタンス内でデータを操作しますが、MSDTC を必要とします。Although this code works with data within the same instance it required MSDTC.

対処法: 2 つの接続を使用する代わりに SqlConnection.ChangeDatabase(String) を使って、接続コンテキスト内で他のデータベースを使用します。Workaround: Use SqlConnection.ChangeDatabase(String) to use other database in connection context instead of using two connections.

CLR モジュールとリンク サーバーでローカル IP アドレスを参照できないことがあるCLR modules and linked servers sometime cannot reference local IP address

マネージド インスタンスに配置された CLR モジュールと、現在のインスタンスを参照しているリンク サーバー/分散クエリでは、ローカル インスタンスの IP を解決できないことがあります。CLR modules placed in Managed Instance and linked servers/distributed queries that are referencing current instance sometime cannot resolve the IP of the local instance. これは一時的なエラーです。This is transient error.

対処法: 可能であれば、CLR モジュールでコンテキスト接続を使用します。Workaround: Use context connections in CLR module if possible.

次の手順Next steps