sql >> データベース >  >> RDS >> Sqlserver

ユーザー、スキーマ、およびロールを含むすべてのデータベースをあるサーバーから別のサーバーに移動/コピーする方法

    <オール>
  1. DB を右クリック
  2. タスクをクリック
  3. スクリプトの生成をクリック
  4. ウィザードに従ってテーブルを選択します
  5. オプション ページで [詳細設定] ボタンをクリックします (そこにありますが、目立ちません)
  6. 「データの種類をスクリプトに変換」オプションを変更
  7. データとログインをスクリプト化するオプションがあります (他にもたくさんあります)。とても便利です。

    すべてのデータベースにすべてのロールを追加するスクリプトを生成するスクリプトは次のとおりです

    declare @selectStatement varchar(1000)
    
    set @selectStatement = 'Use ?;SELECT ''USE ?''; SELECT ' + '''EXECUTE sp_AddRoleMember ''''' + ''' + roles.name + '''''''+','''''+''' +  Replace(users.name,''DOMAINA'',''DOMAINB'') + ''' + '''''''
         from sys.database_principals users
        inner join sys.database_role_members link
        on link.member_principal_id = users.principal_id
       inner join sys.database_principals roles
         on roles.principal_id = link.role_principal_id'
    
                                --where users.name like ''%%'''
    
                    EXEC sp_MSForEachDB @selectStatement;
      

    1. 10進数のmysqlとストレージスペース?

    2. 災害復旧のためのPostgreSQLレプリケーション

    3. 同じテーブルとフィールド名を持つ異なるデータベースからフィールドを選択する方法

    4. ユーティリティ:2分で表からデータをエクスポートするためのPL/SQLプロシージャを生成