投稿

SSISパッケージの保存を「SSIS パッケージ ストア」にしたい時の方法

イメージ
「Package.dtsxのコピーに名前を付けて保存」をしたい場合、「SSIS パッケージ ストア」の指定ができなく以下のようにFileSystemに固定になる場合があります。 こういう時は以下のように対応してください。 「プロジェクト」の「パッケージ配置モデルに交換」をクリックします。 この画面が表示されたら「OK」をクリックします。 「OK」をクリックします。 もう一度「Package.dtsxのコピーに名前を付けて保存」をクリックします。 パッケージの場所を指定できるようになります。 パッケージの場所は3つがあります。 ・File System ・SQL Server ・SSIS パッケージ ストア

SSDT for Visual Studio 2017 offline(オフライン)インストール

SSDT for Visual Studio 2017は2017年12月現在、オンライン(Online)バージョンしかありません。 オフライン(Offlne)バージョンをダウンロードする方法について説明します。   まず、以下のサイトからオンラインバージョンをダウンロードしてください。   https://docs.microsoft.com/ja-jp/sql/ssdt/download-sql-server-data-tools-ssdt   その後、コマンドプロンプトでダウンロードフォルダーに移動し、以下のように実行します。   SSDT-Setup-ENU.exe /layout c:\vs2017ssdt   そうするとc:\vs2017ssdt フォルダにSSDT for Visual Studio 2017 offline(オフライン)installerがダウンロードされます!

OLE DB プロバイダー "MSDASQL" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。

SQL SERVER→MySQLのリンクサーバーで繋いでデータを取得するSQLを実行した時に以下のようなエラーの対応方法について説明します。 例えば、このようなSQLを実行した時にエラーが発生します。 SELECT * FROM OPENQUERY(LinkedServereMySQL,' SELECT UserID FROM TempData WHERE Sn = 1) OPENQUERYでデータを取得していますが、今まで問題なかったSQLがODBCドライブを変更したら以下のエラーが発生しました。 メッセージ 7357、レベル 16、状態 2、行 1 オブジェクト " SELECT UserID FROM TempData WHERE Sn = 1" を処理できません。リンク サーバー "LinkedServereMySQL" の OLE DB プロバイダー "MSDASQL" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。 対応方法は以下の通り修正すると解決できます。 SELECT * FROM OPENQUERY(LinkedServereMySQL,'SELECT UserID FROM TempData WHERE Sn = 1 もしくは SELECT * FROM OPENQUERY(LinkedServereMySQL,'SELECT UserID FROM TempData WHERE Sn = 1) 「SELECT * FROM OPENQUERY(LinkedServereMySQL,'」の後に改行するとエラーになります。

ミラーリング関連DBアカウントを作成時に注意事項及びDBアカウント作成SQL

イメージ
ミラーリング関連サービス用DBアカウントを作成する時に注意しないと行けない部分があります。 Failoverした時にミラーリングサーバーの復元中だったデータベースが有効化されますが、 DBアカウントのサーバーロールが「public」の場合、データベースに以下のSQLを実行してマッピング(Mapping)をしないといけません。 DBアカウントが「test」の場合、 sp_change_users_login 'Update_one', 'test', 'test'  ですが、最初からDBアカウントのSIDを両サーバー合わせておけば特に問題なくサービスが可能になります。 サービス用のDBアカウントを「test」の場合を仮定して説明します。 プリンシパル サーバーから以下のSQLを実行してsidを確認します。 SELECT * FROM sys.server_principals 実行結果 実行結果には「test」DBアカウントのsidは「0x2DC6BE22B74DC549BCAA6E34AE96B33B」です。 では、ミラー サーバーで「test」DBアカウントを作成する時には以下のように記入して実行します。 CREATE LOGIN test WITH PASSWORD = 'testpassword', SID = 0x2DC6BE22B74DC549BCAA6E34AE96B33B もちろんパスワードはプリンシパル サーバーと同じパスワードを設定してください。 同じSIDでアカウントを作成することでミラーサーバーでのユーザーマッピング問題を解決できます。