- - PR -
MSSQL間のデータ移行に関して
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-11 20:55
現在
MSDEのカタログAをMSSQLに移し変えようとしています。 方法 1.MSDEのカタログAをosqlでユーザsaによりexport 2.MSSQLでカタログ作成 3.MSSQLでユーザsaによりimport その結果をEnterpriseManagerでみたところ カタログA 配下のユーザBのログイン名がなし(MSDEではC とついてました) になってしまいます。 またカタログAのオブジェクトは全てユーザBの所有物になっていることもあったりで、どうしてもログイン名が 必要になります。 なぜユーザBのログイン名がなしになるのか分かりません。 何度試してもうまくいかず 困っております。 どなたか お力貸していただけないでしょうか。 |
|
投稿日時: 2005-11-12 02:00
> なぜユーザBのログイン名がなしになるのか分かりません。
> おそらく、ログインアカウントは SQL Server 認証用ですよね。 ユーザーとログインアカウントは、ログインアカウントの SID で マッピングされているので、インスタンスが違うと、マッピングが 無効になってしまい、「ログイン名がなし」 の ”不明なユーザー” という扱いになります。 不明なユーザーをリストアップするには、 USE データベース名 EXEC sp_change_users_login 'Report' と実行します。 不明なユーザーの SID マッピングを修復するには、 USE データベース名 EXEC sp_change_users_login 'Update_One','DBユーザー名','ログイン名' と実行します。 ただ、ユーザー数が多い場合は、1人1人に対してこれを実行するには とっても面倒になるので、sp_help_revlogin というストアドを使って 一括でログインを移動させてしまうと便利です。 同じ SID のログインアカウント作成(sp_help_revlogin) http://blogs.sqlpassj.org/matu_tak/archive/2004/05/30/2527.aspx |
|
投稿日時: 2005-11-14 19:01
matu_takさん>
ありがとうございます。 sp_change_users_login を実行したところ解決することができました。 しかし、クエリアナライザからデータリンクを使用して、 接続しようとすると接続ができません。 (Enterprise Managerからも駄目でした) データリンクには以下の点を設定しました。 照合順序互換 ON データアクセス ON RPC ON RPC出力 ON リモート照合順序 ON ログインの現在のセキュリティコンテキストを使用する。 もしよろしければアドバイスいただけないでしょうか。 |
1