T-SQLとMSSQLは初めてですが、Azure SQLデータベースをサーバー間でコピーする必要があります。
私がググったように here -CREATE DATABASE Database1_copy AS COPY OF server1.Database1;
クエリですが、Ubuntu LinuxのVusial Studio Codeエディターでvscode-mssql
拡張-エラーがあります:
メッセージ156、レベル15、状態1、行1:キーワード 'database'の近くの構文が正しくありません。
私の完全なクエリは次に見えます:
CREATE DATABASE Database1_copy AS COPY OF oldserver.database.windows.net.olddatabasenamehere;
追加のグーグルで同じ解決策が得られます( ここ は別の例です)。
ここで何が間違っているのですか?
Azureのリソース(Azure.Microsoft.com)で公開された最初のリンクであっても、AzureのSQLの実用的なソリューションであるとは限りません。
追伸アイデアは、現在のLive環境のコピーとして(ARMテンプレートを使用して)DEV環境のロールアウトを自動化し、Liveのデータベースのコピーとしてデータベースを作成することです。
[〜#〜] bol [〜#〜] から:
AS COPY OF引数は完全修飾の一意のドメイン名をサポートしていませんです。つまり、サーバーの完全修飾ドメイン名が
serverName.database.windows.net
、データベースのコピー中はserverName
のみを使用してください。
したがって、コマンドは
CREATE DATABASE Database1_copy AS COPY OF oldserver.olddatabasenamehere;
実行とは別に:
CREATE DATABASE mydbcopy AS COPY OF server1.mydb
これは知っておくべき素晴らしいコマンドです(Kbdavis07とKin Shahに感謝します)。
走ることも忘れないでください
CREATE USER [mydbcopy-developers] from external provider
ALTER ROLE db_owner ADD MEMBER [mydbcopy-developers]
他のAADユーザーがデータベースにアクセスできるようにします。
SQLログインも孤立し、次のように修正できます。
ALTER USER mySQLlogin WITH Login = mySQLlogin
sQLログインがmySQLloginと呼ばれ、Masterデータベースにすでに存在する場合。
十分に見た場合、ここに情報があります: https://docs.Microsoft.com/en-us/Azure/sql-database/sql-database -copy