データベース エンジン チューニング アドバイザー (DTA) を使用して SQL Server データのスクリプトを取得する
SQL Server データのスクリプトを取得する方法
SQL Server データのスクリプトを取得するには、いくつかの方法があります。
方法
SQL Server Management Studio (SSMS) を使用する
SSMS は、SQL Server を管理するためのツールです。SSMS を使用して、データベースオブジェクトのスクリプトを生成することができます。
手順
- SSMS を起動し、SQL Server インスタンスに接続します。
- オブジェクト エクスプローラーで、スクリプトを取得したいデータベースオブジェクトを選択します。
- 右クリックして、[スクリプトの作成] を選択します。
- [スクリプトの生成] ダイアログボックスで、スクリプトのオプションを選択します。
- [OK] をクリックして、スクリプトを生成します。
T-SQL クエリを使用する
T-SQL クエリを使用して、データベースオブジェクトのスクリプトを取得することができます。
例
SELECT
object_definition(object_id)
FROM
sys.objects
WHERE
name = 'テーブル名'
PowerShell を使用する
Get-Script -Database 'データベース名' -Table 'テーブル名'
サードパーティ製のツールを使用する
データベースオブジェクトのスクリプトを取得するためのサードパーティ製のツールもいくつかあります。
代表的なツール
- ApexSQL
- Redgate SQL Prompt
- dbForge SQL Complete
SSMS を使用してテーブルのスクリプトを取得する
USE AdventureWorks2019
SELECT
object_definition(object_id)
FROM
sys.objects
WHERE
name = 'Person'
T-SQL クエリを使用してストアドプロシージャのスクリプトを取得する
USE AdventureWorks2019
SELECT
object_definition(object_id)
FROM
sys.objects
WHERE
name = 'uspGetEmployee' AND type = 'P'
このクエリは、AdventureWorks2019 データベースの uspGetEmployee ストアドプロシージャのスクリプトを生成します。
PowerShell を使用してデータベースのスクリプトを取得する
Get-Script -Database 'AdventureWorks2019' -All
このコマンドは、AdventureWorks2019 データベース内のすべてのデータベースオブジェクトのスクリプトを生成します。
ApexSQL や Redgate SQL Prompt などのサードパーティ製ツールを使用して、データベースオブジェクトのスクリプトを取得することができます。これらのツールは、GUI を提供しているので、初心者でも簡単にスクリプトを取得することができます。
- DTA を起動します。
- [分析] タブをクリックします。
- [スクリプトの作成] をクリックします。
- スクリプトのオプションを選択します。
SQL Server Profiler を使用する
SQL Server Profiler は、SQL Server データベースに対するアクティビティをトレースするためのツールです。SQL Server Profiler を使用して、データベースオブジェクトのスクリプトを生成することができます。
- 新しいトレースを作成します。
- [イベントの選択] ダイアログボックスで、[DDL] イベントを選択します。
- [トレースの開始] をクリックします。
- データベースオブジェクトに対する操作を実行します。
- トレースファイルをテキストエディタで開きます。
データベースバックアップからスクリプトを抽出する
データベースバックアップから、データベースオブジェクトのスクリプトを抽出することができます。
- データベースバックアップを復元します。
- SSMS を使用して、復元したデータベースに接続します。
注意事項
- これらの方法は、すべての状況で有効とは限りません。
- これらの方法を使用する前に、データベースをバックアップすることをお勧めします。
sql sql-server export