問題タブ [smo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SMO および SQL Server 7.0
Sql Server Management Objectsが Sql Server 7.0 と互換性があるかどうかについて明確な答えを持っている人はいますか? ドキュメントの状態:
SMO は SQL Server バージョン 7.0、SQL Server 2000、SQL Server 2005、および SQL Server 2008 と互換性があるため、マルチバージョン環境を簡単に管理できます。
しかし、Sql 7 インスタンスに接続しようとすると、次のようになります。
「この SQL Server バージョン (7.0) はサポートされていません。」
これらの 2 つをうまくプレイさせることに成功した人はいますか?
sql-server - SMOの存在を検出するための最良の方法は何ですか?
SMOを使用して使用可能なSQLServerとデータベースのリストを作成するコードがいくつかあります。SQL Server 2000はサポートされなくなりましたが、SQL Server 2000がインストールされていて、SMOライブラリがインストールされていないマシンでコードが実行される可能性があります。私は最初にSMOをチェックし、ユーザーの顔を爆破するのではなく、機能を適切に低下させることをお勧めします。SMOがマシンで利用可能かどうかを検出する最良の方法は何ですか?
Googleの簡単なスキャンで見たすべての例は、「C:\ Program Files \ Microsoft SQL Server \ 90 \ SDK \ Assembly\Microsoft.SqlServer.Smo.dllを探す」のバリエーションでした。このアプローチの問題は、SQL Server2005でのみ機能することです。SQLServer2008がインストールされている唯一のSQLServerである場合、パスは異なります。
sql-server - SQLSMOおよび.Net2.0のVB6サポート
SQL Server 2000のサポートを終了し、SQLServer2005に加えてSQLServer2008のサポートを追加するため、COM+ベースのアプリケーションでSQLDMOの使用からSMOに移行しようとしています。
私はこれについて読んでいて、このマイクロソフトフォーラムでこの特定のquipを見つけました:
「SMOはVB/C#.Net2005でのみサポートされています。VB/VC6では使用できない.Net2.0Frameworkが必要です。」
それは本当ですか?一般的なグーグルとグーグルスタックオーバーフローは、決定的な答えを投げ出しませんでした。
VB6を使用してSQLSMOを実装することは可能ですか?
編集:これを回避するためにCOMラッパーを使用しました...詳細については、以下の回答を確認してください。
.net - Microsoft.SqlServer.Management.Smo とその兄弟は SQL2000 で動作しますか?
表題のとおり、SQL Server DB Publishing Tool によって生成されたインポート スクリプトを実行するために必要です。それはSql2000サーバーでも機能しますか? また、GAC に関連するライブラリの欠落の問題が報告されているのを見たことがありますが、展開サーバーを制御していない場合、どのライブラリを正確に含める必要がありますか?
これがどのように機能するかを知るには、MSDN フォーラムで確認できます。 http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3947420&SiteID=1
私がテストしたところ、SQL2005 Express がインストールされた私の開発ボックスで実際に動作しました。
sql-server - アプリをSQLServer2005と完全に互換性のあるものにする方法は?
2005に移行するとき、MSSQLを使用するアプリケーションがあります。基本的に、下位互換性パッケージを適用することをクライアントに推奨します。それだけですが、誰かが2005年に100%互換性を持たせるために何をすべきかを尋ねてきました。 。互換性レベル:SQL Server 2005(90)2. DMO参照を削除し、SMOに置き換えます。3。ADOを使用して接続します。
これが正解かどうかはわかりません。
c# - SMOを使用してデータベースとデータをコピーする
同じサーバー上の新しいデータベースにデータベースのコピーを作成しようとしています。サーバーは、WindowsXPでSQL2008Expressを実行しているローカルコンピューターです。これを行うには、SMO.Transferクラスを使用すると非常に簡単で、ほとんど機能します。
私のコードは次のとおりです(やや簡略化されています):
ここで行うことは、最初に新しいデータベースを作成し、次にTransfer
クラスを使用してコピースクリプトを生成し、最後に新しいデータベースでスクリプトを実行することです。
これは構造をコピーするためにうまく機能しますが、CopyData
オプションは機能しません!
オプションに文書化されていない制限はありCopyData
ますか?ドキュメントには、オプションでデータをコピーするかどうかを指定するだけであると記載されています。
TransferData()
スクリプトを使用せずにデータベースをコピーするメソッドを使用しようとしましたが、「サーバーへの接続に失敗しました」という例外が発生し、「への接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました」という内部例外が発生します。 SQL Server。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください(プロバイダー:Named Pipes Provider、エラー:40-SQLServerへの接続を開くことができませんでした)」
また、サーバーで名前付きパイプを有効にしようとしましたが、それは役に立ちません。
編集:バックアップを作成してから新しいデータベースに復元することで機能するソリューションを見つけました。しかし、それはかなり不器用で、本来よりも遅いので、私はまだより良い解決策を探しています。
c# - SMO を使用してテーブルのデフォルトの作成スクリプトを取得する
使用しているローカル データベース用のデータベース スクリプト ツールを作成しようとしています。
テーブル、主キー、インデックス、および外部キーの作成スクリプトを生成できましたが、テーブルのデフォルトの作成スクリプトを生成する方法が見つかりません。
インデックスの場合、次のように簡単です
ただし、Table オブジェクトには Defaults プロパティがありません。テーブルのデフォルトのスクリプトを生成する他の方法はありますか?
c# - C# アプリで SQL Server プロファイラーを模倣していますか?
SQL Server プロファイラーで行うように、C# アプリからデータベース サーバーにトレースを作成したいと考えています。私の SQL 管理スタジオでは機能しないように見えるストアド プロシージャ (sys.sp_trace_create など) を見つけました。誰かがコーディングを手伝ってくれないかと思っていたのですが、どこから始めればいいのでしょうか?!
sql-server-2005 - SMO を使用してデータベースのアクセス許可を作成および設定しますか?
と を使用して新しいログインを作成し、データベース権限を設定する方法はありSQL Server 2005
ますC#
かSMO
?
もしそうなら、どのように?そうでない場合、それを行う最善の方法は何ですか?
c# - server.Databases [databaseName] .Drop(); MSTestで失敗する
次の例外がスローされます。
エラーメッセージ:Microsoft.SqlServer.Management.Smo.FailedOperationException:Drop failed forDatabase'4d982a46-58cb-4ddb-8999-28bd5bb900c7'。---> Microsoft.SqlServer.Management.Common.ExecutionFailureException:Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。---> System.Data.SqlClient.SqlException:データベース "4d982a46-58cb-4ddb-8999-28bd5bb900c7"は現在使用中のため、削除できません。
これを引き起こした原因は何ですか?
SMO関数を呼び出して、実行中のTransact-SQLステートメントを完成させることはできますか?