タグ付けされた質問 「sql-server」

Microsoft SQL Serverに関する質問。質問がバージョン固有の場合は、そのバージョン専用にタグを付けてください。SQL Serverの質問はここにあるのですか、それとも別のサイトにあるのですか?下の行のsql-serverタグについてのリンクをクリックします。

1
SQL ServerのLOBデータのパフォーマンスを削除する
この質問は、このフォーラムスレッドに関連しています。 ワークステーションでSQL Server 2008 Developer Editionを実行し、「アルファクラスター」と呼ばれるEnterprise Editionの2ノード仮想マシンクラスターを実行しています。 varbinary(max)列のある行を削除するのにかかる時間は、その列のデータの長さに直接関係します。最初は直感的に聞こえるかもしれませんが、調査の後、SQL Serverが実際に一般的に行を削除し、この種のデータを処理する方法についての私の理解と衝突します。 この問題は、.NET Webアプリケーションで発生している削除タイムアウト(> 30秒)の問題に起因していますが、この説明のために単純化しています。 レコードが削除されると、SQL Serverは、トランザクションのコミット後、ゴーストクリーンアップタスクによってクリーンアップされるゴーストとしてマークします(Paul Randalのブログを参照)。varbinary(max)列にそれぞれ16 KB、4 MB、および50 MBのデータを含む3つの行を削除するテストでは、データの行内の部分を含むページとトランザクションでこれが発生しますログ。 奇妙なことに、削除中にすべてのLOBデータページにXロックが設定され、PFSでページの割り当てが解除されます。これは、トランザクションログ、sp_lockおよびdm_db_index_operational_statsDMV の結果(page_lock_count)で確認できます()。 これらのページがバッファキャッシュにまだない場合、ワークステーションとアルファクラスタでI / Oボトルネックが発生します。実際、page_io_latch_wait_in_ms同じDMVからの削除は実質的に削除の全期間であり、page_io_latch_wait_countロックされたページの数に対応します。ワークステーション上の50 MBファイルの場合、空のバッファーキャッシュ(checkpoint/ dbcc dropcleanbuffers)で開始すると3秒以上になりますが、断片化が重く、負荷がかかっている場合はより長くなることは間違いありません。 私はそれがキャッシュ内のスペースを割り当てているだけではないことを確認しようとしました。checkpointメソッドの代わりに削除を実行する前に、他の行から2 GBのデータを読み取りました。これは、SQL Serverプロセスに割り当てられている以上のものです。SQL Serverがデータをシャッフルする方法がわからないため、それが有効なテストであるかどうかはわかりません。私はそれが常に新しいものを支持して古いものを押し出すと思いました。 さらに、ページを変更することさえしません。これは私が見ることができますdm_os_buffer_descriptors。削除後、ページはきれいになりますが、変更されたページの数は、小規模、中規模、および大規模の3つの削除すべてで20未満です。またDBCC PAGE、ルックアップされたページのサンプリングの出力を比較しましたが、変更はありませんでした(ALLOCATEDPFSからビットのみが削除されました)。単に割り当てを解除します。 ページの検索/割り当て解除が問題の原因であることをさらに証明するために、vanilla varbinary(max)の代わりにfilestream列を使用して同じテストを試みました。削除は、LOBサイズに関係なく一定の時間でした。 だから、最初に私の学術的な質問: Xロックするために、SQL ServerがすべてのLOBデータページを検索する必要があるのはなぜですか?これは、メモリ内でロックがどのように表されているか(ページと一緒に保存されている)の詳細にすぎませんか?これにより、完全にキャッシュされない場合、I / Oの影響はデータサイズに大きく依存します。 割り当てを解除するためだけにXがロックされるのはなぜですか?割り当て解除ではページ自体を変更する必要がないため、行内部分でインデックスリーフのみをロックするだけでは十分ではありませんか?ロックが保護するLOBデータを取得する他の方法はありますか? この種の作業専用のバックグラウンドタスクが既にあるのに、なぜページの割り当てをまったく解除するのですか? そしておそらくもっと重要なのは、私の実際的な質問です: 削除の動作を変える方法はありますか?私の目標は、ファイルストリームと同様に、サイズに関係なく一定時間で削除することです。ファイルストリームでは、事後のバックグラウンドでクリーンアップが行われます。構成の問題ですか?奇妙に物を保管していますか? 以下に、説明したテスト(SSMSクエリウィンドウで実行)を再現する方法を示します。 CREATE TABLE [T] ( [ID] [uniqueidentifier] …
16 sql-server 

3
SQL Serverのタイムアウト保存テーブル
SSMSを使用して、SQL Server 2005で多くのデータを含むテーブルに列を追加しようとしています。 そこで、テーブルを参照し、[変更]を選択して、新しい列を追加します。次に、[保存]を押すと、次の警告が表示されます。 大量のデータを含むテーブルへの定義変更の保存には、かなりの時間がかかる可能性があります。変更の保存中は、テーブルデータにアクセスできません 私はそれでいいです、DBはオフラインであり、私は世界中に常にいるので、はいを押します。 ただし、操作は次のメッセージで約30秒後にタイムアウトに進みます。 テーブルを変更できません。タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。 次に、[OK]を押すと: ユーザーが保存ダイアログをキャンセルしました(MS Visual Database Tools) わかりません。SSMS接続ダイアログと[ツール]-> [オプション]-> [クエリ実行]-> [SQL Server]の両方で、実行タイムアウトを0(無限)に設定しました。無視された場合、実行タイムアウトを設定するポイントは何ですか? ここで使用されているタイムアウト値とその設定方法を知っている人はいますか?

6
偶発的なDBAのリソース[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 Microsoftプラットフォーム内では、ほとんどのエンタープライズレベルのプログラム(SharePoint、System Centerアプリ、Dyamicsアプリなど)はすべてSQL Server上で実行されます。これらのプログラムの管理者にとって、SQL Serverは多くの場合、主な焦点となるプログラムの前提条件としてインストールされるブラックボックスです。その結果、インストールのSQL側に行われる計画が(あるとしても)非常に少なく、さらに上流のどこかで表面化する問題につながります。 ドライブを満たすトランザクションログ メンテナンスプランなし(またはインデックスの再編成と再構築の両方を行うプランなど、情報に基づいていないプラン) 管理されていない自動成長 同じスピンドル上のデータベースとログ 不適切に選択されたRAIDレベル バックアップなし(または復旧計画) それで...「偶発的なDBA」はどのような種類の問題に遭遇する傾向があり、偶発的なDBAがSQL計画、管理、およびパフォーマンスチューニングの基本を理解するのに最も役立つリソースはどれですか。

6
SQL Serverデータベースの照合順序を変更するにはどうすればよいですか?
すべてのデータベースを単一の照合-Latin1_General_CI_AS(標準照合)で標準化しようとしています。SQL_Latin1_General_CP1_CI_ASにあるデータベースがいくつかあります。 ALTER DATABASEを使用してデータベースの照合順序を変更できることは知っていますが、それは新しいオブジェクトにのみ影響します。私の理解では、既存の列を変更する唯一の方法は、すべてのテーブルの各列でALTER COLUMNを実行することです-それを行うには、すべてのインデックスを削除して再作成する必要があります。 私はそれがこのようなものになると思います: DROP INDEX indexname ON tablename GO ALTER TABLE tablename ALTER COLUMN columname varchar(50) COLLATE Latin1_General_CI_AS NULL GO CREATE CLUSTERED INDEX indexname ON tablename (columname ASC) データベース全体のすべてのvarchar、char、text、nvarchar、nchar、およびntext列に対して繰り返します。これは膨大な SQLスクリプトになります。 これを行う簡単な方法はありますか、それを行うSQLスクリプトの作成を自動化する方法を誰かが提案できますか?

1
T-SQLを使用してSQLインスタンスの最小および最大メモリ割り当てを取得するにはどうすればよいですか?
私は約90個のSQL Serverインスタンスを管理しており、各インスタンスに割り当てられたメモリ量を判断するためのクエリが必要です。Management Studioを使用せずに現在の設定を確認するためだけに、設定方法を尋ねているのではないことに注意してください。 ご協力いただきありがとうございます。

8
SQL Serverがバックアップを復元するとエラーが発生する
dev(Windows Server 2008上のSQL Server 2005)にprod(Windows Server 2003上のSQL Server 2000)に移動する必要があるデータベースがあります。私のプロセスは次のとおりです。 開発者にログインし、SQL Server Management Studioを開きます データベースを右クリック| タスク| バックアップ。すべてのデフォルトオプションを保持します(フルバックアップなど) .bakファイルをローカルにprod(ネットワークドライブなし)に移動し、prodにログインして、SQL Server Enterprise Managerを開きます。 [データベース]ノードを右クリックします| すべてのタスク| データベースを復元します。 データベースとして復元を変更して、同じデータベース名を反映させます。 「デバイスから」ラジオボタンをクリックします。「デバイスの選択」をクリックします [復元元:追加...]をクリックし、.bakファイルを参照します(小さい-6MBのみ) これでデータベースを復元する準備ができたので、[OK]をクリックすると、次のエラーが表示されます。 「デバイス「E:... bak」のメディアファミリの形式が正しくありません。SQLServerはこのメディアファミリを処理できません。RESTOREDATABASEは異常終了します。」 このエラーはすぐに発生します。 私はこれのいくつかの異なるバリエーションを試しました-異なるdb名とログファイル名(元の場所)でdevマシンにdbを復元し、前にファイルへの同じ物理パスで空のデータベースを作成し、そこに復元しようとしましたprodにアップロードする前に、いくつかの異なる.bakファイルを作成し、それらが検証されていることを確認します。実際、.mdfファイルと.ldfファイルのディレクトリがprodに存在することは知っていますが、ファイル自体は存在しません。[OK]をクリックして復元する前に[オプション]タブに移動すると、次のエラーが表示されます。 エラー3241:デバイス 'E:... bak'のメディアファミリの形式が正しくありません。SQL Serverはこのメディアファミリを処理できません。RESTORE FILELISTが異常終了しています。 誰もが明るいアイデアを持っていますか?

11
SQL-事前ログインハンドシェイク中にエラーが発生しました
昨日の夕方まで、ローカルマシンからサーバーに接続できました。今、私は次のエラーを受け取ります: サーバーとの接続は正常に確立されましたが、事前ログインハンドシェイク中にエラーが発生しました。(プロバイダー:SSLプロバイダー、エラー:0-待機操作がタイムアウトしました。)(.Net SqlClient Data Provider) 注、実際のサーバーに問題なくログオンできます。 昨日、マシンにIISをインストールし、自分のIPアドレスを使用してサイトをセットアップしました。これに何か関係があるかどうかはわかりません。 私はこの記事に出くわし、手順に従いましたが、役に立たなかったようです。 http://escapekeys.com/microsoft-sql-server-error-64-a-connection-was-successfully-established-with-the-server/89 また、次の記事を読み、TC / IP設定を変更し、再起動しましたが、何もしませんでした。 http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- server-microsoft-sql-server-error / コメントからも提案を試み始めましたが、物事をもっと混乱させているかもしれないことに気づいたときに停止しました。 だから、なぜこれが起こっているのですか/どうすれば修正できますか?

2
SQL Server Browser:なぜ無効になっていますか?
SQL Server Configuration Managerを使用してSQL Server Browserを起動しようとしています。ただし、SQL Serverブラウザの「状態」であるだけでなくstopped、しかし、選択肢はにStart、Stop、Pause、Resume、およびRestartすべての(両方の右クリックのコンテキストメニューで、[プロパティ]ダイアログボックスを介して)無効になっています。 (また、[プロパティ]ダイアログで、[ビルトインアカウント]の3つのオプションすべてを試してみました:ローカルシステム、ローカルサービス、およびネットワークサービス。さまざまなオプションで[このアカウント]を試してみました。無効のままです。) 最初はポートの問題だと思っていました。どうやら、SQL Server Browserはポート1434を使用しています。しかし、CurrPortsというプログラムを使用すると、ポート1434はどのプログラムでも使用されていません。 誰でも助けることができますか?
15 sql-server 

4
同じサーバーまたは別のサーバーでMSSQLデータベースを複製する方法は?
私は次を達成しようとしています: 元のデータベースのスナップショットを作成し、別のサーバーで複製を作成して正確に作成しますか? 元のデータベースのスナップショットを作成し、同じサーバー上に異なるDB名で複製を作成します ただし、MSSQLの使用経験は非常に限られているため、できません。助言がありますか? 追加情報: オリジンDBサーバー:SQL Server 2000 宛先DBサーバー:SQL Server 2005

9
トランザクションログをバックアップすることがなぜそれほど重要なのですか?
現在、クライアント向けのバックアップソリューションを実装しており、ERPソリューションではSQL Serverを使用しています。 ERPソリューションは別の会社によってセットアップされました。そして、彼らはトランザクションログをバックアップして切り捨てることが非常に重要だと私に言っています。 私はこのトランザクションログを少し読んでいますが、なぜこれがそんなに重要なのか分かりません とにかくマシン全体をすでにバックアップしているときにわかりません(SQL Serverを認識して使用するArcServe UDPを使用していますVSS)。SQL Server VMのクリーンアップタスクが既にログの切り捨てを処理していることは理解していますが、UDPではSQL Serverログの切り捨ても許可されています。 トランザクションログは、すべてのトランザクションのログであるため、破損したデータベースの復元に使用できることを理解しています。しかし、私はすでにデータベース全体の1時間ごとのバックアップを持っているので、なぜ気にする必要があるのでしょうか?

1
SQL ServerをインストールせずにMS SQL Management Studio 2012をインストールできますか?
SQL Server 2012 BIがインストールされたWindows Server 2012があります。 リモートデスクトップを使用して、サーバーのsql管理スタジオを使用できます。ただし、このツール(SQL Management Studio 2012)をローカルマシンにインストールしたいのですが、SQLサーバーは必要ありません。 ツールのみをインストールできますか?

3
インデックスの再編成または再構築を心配しているDBAは、データの損失を引き起こす可能性がありますか?
インデックスの断片化が95%を超えるデータベースがあります。最善のこととして、インデックスの再構築はこれまでになく少ない再編成で行われたことがわかります。年間で。 (公平のために、これらのテーブルでは自動更新された統計が有効になっているようです。また、公平のために、彼はバックアップ(1日ごとの完全ログと1時間ごとのログ)に熱心です。 私が尋ねると、DBAはインデックスの再構築または再編成に消極的だと言いました。私が理由を尋ねたとき、彼はそれを実際に表現できませんでした。最終的に彼は、潜在的なデータ損失を心配していると言いました。たとえば、Great Plains Dynamicsの会計アプリケーションでデータベースの1つが使用されており、彼はそれについて非常に心配しているようでした。 私はDBAではありませんが、私が読んだことから、彼の不安は...私には理解するのが難しいようです。 次に何をすべきかわかりません。私はどのように進むべきか提案しますか?

4
SQL Server(2008)では、スキーマ内でテーブルの作成権限を付与できますか?
SQL Server 2008のセキュリティを使用して、特定のスキーマ内でのみCREATE TABLE権限をユーザーに付与しようとしています。CREATE TABLE権限はデータベースレベルでのみ適用されますか? スキーマ内でのみテーブルを作成するようにユーザーを制限できますか? 私はもう試した: USE [databasename] GRANT CONTROL ON Schema :: [schemaname] TO [username] GO そして USE [databasename] GRANT ALTER ON Schema :: [schemaname] TO [username] GO ただし、ユーザーはまだターゲットスキーマ内にテーブルを作成できません。これを実行するまで、ユーザーがテーブルを作成できるようになるまではそうではありません。 USE [databasename] GRANT CREATE TABLE to [username] GO 付与 データベース権限の付与

6
運用データベース用のSQL Server Expressですか?
各クライアントが独自のデータベースを持つデュアルWeb /内部トランザクションアプリケーションを展開しようとしています。各データベースは非常に小さく、それぞれ50 MB未満であるため、完全なSQL ServerではなくSQL Express 2008を使用するのが理にかなっているのではないかと考えていました。 これには、大量の$$$を節約しながら、サーバー間でディスクI / Oを分散できるという利点があるようです(小さな15Kドライブと使用済みのデュアルコアサーバーはどちらも安価であるため)。ある時点で必要なサーバーが多すぎる場合は、SQL Serverにアップグレードできますが、数十の内部ユーザーがいると、今はあまりにも高価に思えます(特にフェールオーバーボックスが必要なため)。 1 GBのメモリと1つのプロセッサでの4コアの使用は、データベースサイズが小さいため、制限が厳しすぎるとは思えません。最大200人の同時ユーザーが存在することは決してなく、ほとんどの操作はトランザクションに依存します(重いRAM / CPUよりも多くの高速ディスクを好むようです)。 SQL Server Standardの利点のうち、当初は5〜2000万ドルの追加投資を正当化できるものがありませんか?

3
SharePointとデータベースミラーリングの組み合わせ
これは、どのようにすればいいのかという質問ではなく、単に舞台を設定するためのものです。それはあなたの経験は何ですか?すぐに返信する前に、質問全体を読んでください。 昨日は、SQL Serverの高可用性テクノロジと、SQLログ/回復/バックアップ/復元の仕組みについて、SharePoint MCM(Microsoft Certified Masters- こちらを参照)の現在のラウンドの学生に教えることにしました。すべてのエンタープライズクラスのMOSSインストールでは、エンタープライズクラスのSQL Serverが隠されており、通常はDBAがいないため、これは非常に重要です。Kimberlyは、金曜日にデータベースメンテナンスの1日を教えています(私たちが教えるSQL MCMの最初の週の一種の絞り込みバージョン)。 データベースミラーリングを使用してSharePointデータベースに高可用性を提供することの可能性と、相対的な長所と短所について議論していました。今、私はMicrosoftでそれを所有していたように、データベースミラーリングを最も低い内部の深さで知っているので、返信で動作や特異性を指摘する必要はありません。また、SharePoint関係者からのミラーリングホワイトペーパーのさまざまな注意事項とガイドラインを知っています。もちろん、それらは厳密なルールではなく一般化されたガイドラインにすぎません。 私の質問は次のとおりです。SharePointにデータベースミラーリングを実装している人から、それが機能しているのか、クラッシュして焼かれているのかを聞きたいです。特に、フェイルオーバー動作がどのように機能するかをどのように見つけましたか?あるサーバーと別のサーバーにいくつかのデータベースプリンシパルがあり、ファームを効果的に分割し、手動の介入によってすべてが1つのサーバーに失敗するまでファームを使用できなくしましたか?ローカルまたはリモートのHAに使用しましたか?等々。 返信は感謝の気持ちで受け取られ、これら2つのテクノロジーの結合に関する知識ベースを広げるのに役立ちます。また、SharePoint製品グループにフィードバックを提供し、今後私が教えるMCMローテーションも行います。 ありがとう! [編集:PS週末にこれに関する経験とガイドラインについてのブログ投稿をまとめる]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.