Masterデータベースにストアドプロシージャを作成し、自分のデータベースのいずれかからそれを実行したい場合は、次のリンクをたどるだけです。
それは私にこのコード例を与えます:
上記の例に従うだけで、任意のデータベースからプロシージャを呼び出すことができます。
マスターでテーブルデータ型を作成した場合、どうすればデータベースで使用できますか?
use master
IF NOT EXISTS (select * from sys.types where name = 'theReplicatedTables')
CREATE TYPE theReplicatedTables AS TABLE
( OBJ_ID INT NOT NULL,
PRIMARY KEY CLUSTERED (OBJ_ID)
);
use APIA_Repl_Sub
go
declare @the_tables [dbo].[theReplicatedTables]
テーブル型でそれを行う方法はありません。それをすべてのデータベースに複製する必要があります。ただし、新しいデータベースの作成中にこのテーブルタイプを使用できるようにする場合は、モデルデータベースに追加するだけです。テーブル値パラメーターの使用にはいくつかの制限があります。データベース間でテーブル値パラメーターを使用することもできません。詳細を確認してください こちら 。
タイプには、データベースのしきい値を超える機能や、システムとしてマークする機能はありません。したがって、使用する各データベースでそのタイプを作成する必要があります。 (私はマスターのデータや型などに依存することに大いに熱心ではありません。別のシステムに移動すると消えてしまうからです。)
既存のデータベースの場合は、ループでタイプを作成するだけです。新しいデータベースの場合(CREATE DATABASE
を使用)、model
にタイプを作成します。