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

Microsoft SQL Serverのすべてのバージョン(MySQL以外)。sql-server-2016のようなバージョン固有のタグも追加してください。これは、質問に関連することが多いためです。

3
ドライブを最適化する前にSQL Serverサービスを停止しますか?
当社のSQL Server 2005データベースのデータファイルは、Microsoft Windows 2003のディスクデフラグツールが99%断片化していると報告する別の物理ドライブにあります。 土曜日の午前3時にこのドライブを最適化するタスクをスケジュールしました。ジョブは40分後に完了し、明らかなエラーはありませんでした。ただし、ドライブは非常に断片化されたままです。 デフラグする前にSQL Serverサービスを停止する必要がありますか? 環境 コンテキストの要求ごと:4 GBのRAMを搭載した2007年頃のDell PowerEdge 2950ハードウェアで32ビットWindows Server 2003(SP2)を実行するMicrosoft SQL Server 2005インスタンス(9.00.5324.00)があります。PowerEdge 2950には、2つの68GB仮想ディスクを作成するためにRAID-1として構成された4つの68GBドライブがあります。(1)C(ブートおよびOS)およびD(ページファイル、その他のその他のデータ)。(2)E(SQLデータ)。私の知る限り、ITスタッフはこれらのドライブのいずれも最適化したことがありません...ディスクデフラグツールは、66%(C)、77%(D)、および99%(E)のファイルの断片化を報告します。パフォーマンスモニターは、次の平均結果を報告します。「ページングファイル:使用率%」= 〜6.8% ; "SQL Server:バッファマネージャ-ページの平均余命" = 20秒 ; および「PhysicalDisk:平均ディスク秒/書き込み、ドライブE」= 300〜1。数か月後には非常に必要なハードウェアとSQL Serverのアップグレード(つまり、新しいハードウェア、64ビットWindows Server 2012、64ビットSQL Server 2012、12GB RAM)が必要ですが、ユーザーのパフォーマンス、問題をできるだけ軽減したい。したがって、ファイルのデフラグを考えることは、メインのSQLデータドライブであるドライブEに役立つ可能性があります。 余談ですが、先週、2台の故障したドライブを引き出してアレイを再構築しました。サーバーを維持するために別のITチームと契約しているため、機器に直接アクセスすることはできません...私たちの組織はサービスの料金を支払うだけです。 定期的にスケジュールされたメンテナンスウィンドウ(毎週)中のダウンタイムと、必要に応じて夜間の帯域外ダウンタイムを用意できます。

2
SQL Serverがテーブルを変更してTEXTをNVARCHAR(MAX)に変更すると、データベースサイズが大幅に増加します。
かなりの数のTEXT列をに変更するには、サイズが約18GBのSQL Serverデータベースを更新する必要がありますNVARCHAR(MAX)。 私が抱えている問題は、すべてのalter tableコマンドを実行した後、データベースのサイズがほぼ26GBになることです。ここから使用NVARCHAR(MAX)するとDBの成長が遅くなることを理解していますが、この肥大化を防ぐ方法はありますか?

4
SQL Server-SAN上のデータ、ログ、およびTempDBファイルの分離
SQL ServerをSANに接続しています。新しいストレージベンダーは、すべてのLUNがディスクアレイ全体(RAID5)にまたがることを推奨しています。通常、SAN管理者に3つの個別のLUN(データ、ログ、TempDB)を要求しますが、新しいベンダーの推奨を考えると、個別のLUNを作成する意味はありますか?それともすべてのディスクにまたがるので、すべてが1つのLUNにある場合、同じパフォーマンスが得られますか? ここでは素晴らしい記事ですが、私の正確な状況には完全には対応していません:http : //www.brentozar.com/archive/2008/08/sql-server-on-a-san-dedicated-or-shared-drives/

1
sa、dbo、エンティティ所有者、information_schema、sys、または自分へのアクセス許可を付与、拒否、または取り消すことはできません
次のエラーが発生しました: Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. これらのコマンドを試していたとき USE ASPState GO GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser] GO GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser] GO GRANT EXECUTE …

1
MSDBのdbo.DTA_ *テーブル
ブレントオザーのsp_blitzを運用サーバーの1つで実行しました。ITは、MSDBデータベース内のいくつかのテーブルにユーザーが作成したタグを付けました。それらはすべてパターンdbo.DTA_ *に従います。これらのテーブルはMSDBに付属していますか、それとも何か/誰かが追加したものですか?

2
SQL Serverは重複する行を格納する代わりにポインターを使用しますか?
sp_spaceusedソフトウェアで操作を実行する前後に、組み込みのストアドプロシージャを使用して、どのテーブルに行が挿入されているか、および各テーブルのサイズがどのように変化するかを確認しています。 私が目にしているのは、行が書き込まれるすべてのテーブルのうち、テーブルが横に増えていることを示すのはほんの一握りです。行が追加されたことを示す他のものは、このストアドプロシージャからのサイズの変化を示していません。 これが当てはまらない唯一のケースは、すべてのテーブルで切り捨てを実行した後の最初のトランザクションです。つまり、重複したデータを保存する代わりに、SQL Serverは行が挿入されていることを示していますが、以前の同一の行へのポインタを保存しているだけのようです。 誰でもこれを確認できますか?

2
SQL Serverディストリビューションデータベースのログファイルがデータベースの完全バックアップ後に制御不能に増大する
8つのサブスクライバーにプッシュするマージレプリケーション環境があります。これは正常に動作しています。ディストリビューションデータベースは、シンプルリカバリモードでセットアップされています。毎日00:30にすべてのデータベースをバックアップする保守計画があります。このプロセスが完了すると、配布ログファイルは次の30分間で大きくなり、ハードドライブの残りのすべてのスペースを吸収します(約90GB) その後、ディストリビューションデータベースが "回復保留中"と表示され、マシンを再起動するまで何もできなくなります。この後、ログファイルを2MBに縮小できます。 なぜこれが起こっているのか私にはわかりません。ログファイルは、日中約10MBで実行されます。データベースのサイズは15GBです。

5
SQL Server 2008と拡張プロパティ[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 SQL Serverでは、拡張プロパティを何に使用しますか?一部の記事やブログは、データベースとそのオブジェクトの自己文書化に使用することを提案していますが、これが適切に使用されていることを確認できません...これはほとんどの人によって無視されていますか?

3
SQL Server Management Studio Expressをスタンドアロンでインストールできますか?
リモートデータベースに接続するために、SQL Server Management Studio Express(主にMicrosoft SQL Server用)がスタンドアロンマシン(SQLサービスやその他のものなし)にインストールされているかどうか疑問に思っていましたか? SQL Server 2012を実行しています。特定のユーザーがクエリを実行したり、データベースを更新したりするためのWeb UIを作成することを望んでいると、マネージャーの1人から言われました。これは私のPHPの能力の範囲内です。しかし、私は簡単にするために考えていました。サーバー管理者には多くの時間を要しますが、データベースに接続/管理するためにSMSEをネットワークマシンにインストールするので、Web UIの必要性をなくすことができますか? これは可能ですか?または、スキーマやテーブルなどを表示するWebUIを作成するという面倒なタスクを実行する必要があります。

3
SQL Serverのクラスター化インデックスとOracleのインデックス構成テーブル
私はSQL ServerからOracleへのデータベース開発者としての移行を行っており、ここですでに素晴らしいリソースを見つけました( OracleへのSQL ServerのDBAからの移行を行うためにどのように?とDBAとして、どのように私は、OracleからSQL Serverへの移行については行くだろう?)しかし、Oracleでのインデックス構成テーブルの使用に関する適切な情報を見つけるのに苦労しています。 以前の人生では、OLTP風のデータマートでSQL Serverのクラスター化インデックスを広範囲に使用して大きな成功を収めました。索引構成表は、Oracleの便利なツールですか?

2
TempDBをCPUの数に等しい複数のファイルに分割する
記事「SQL Server tempdbのベストプラクティスパフォーマンスの向上」ではtempdb、コアの数に等しい数のファイルに分割する必要があることを示唆しています。したがって、4つのコアで4つのファイルを取得します。 ファイル数を増やすことで、SQL Serverが一度にディスクにプッシュできる物理I / O操作の数を増やすことができます。SQL ServerがディスクレベルにプッシュダウンできるI / Oが多いほど、データベースの実行が高速になります。標準データベースでは、SQL Serverは必要な大量のデータをメモリにキャッシュできます。tempdbは書き込みの性質が高いため、メモリにキャッシュする前に、データをディスクに書き込む必要があります。 理論的には良さそうに聞こえますが、それは一般的な最適化として本当にそれでいいのでしょうか IOが非常に高い特定のシステムにのみ適用されるものですか?

2
クラウド内のSQL Serverトランザクションログ
トランザクションログ(*.ldf)をデータベースファイル(*.mdf、*.ndf)とは別の物理ディスクシステムに配置するのが一般的です。 仮想マシンクラウド環境で、トランザクションログを他のデータファイルと同じドライブ文字に配置しても問題ありませんか?これは、今日の一般的なクラウド仮想マシン環境で通常どのように処理されますか。 注:SQL Azureは使用しません。フルアクセスが可能なWindows仮想マシンを使用する。

1
SQL Server 2012でNVARCHAR列の同等クエリが複数の結果を生成する
ペットプロジェクトをPostgreSQL(9.2.2)からSQL Server(2012 Standard)に移行中です。 Unicodeの単語をクエリするときに、興味深い現象に気づきました。定義を考えると: CREATE TABLE [word]( [id] [int] IDENTITY(0,1) NOT NULL, [value] [nvarchar](255) NULL ); そしてデータ: insert into word (value) values (N'ῥύπῳ'); insert into word (value) values (N'ἀπὸ'); insert into word (value) values (N'ἀπό'); insert into word (value) values (N'ἐπὶ'); insert into word (value) values (N'ἐπί'); insert into word …

2
SQL Server選択カウントREAD_COMMITTED_SNAPSHOT QUESTION
特定のテーブルでselect count(*)を実行すると、多くのデッドロックが発生しているようです。私はすでにすべての必要なパラメーターを変更し、それらを行のみのロックにしています。 また、READ_COMMITTED_SNAPSHOT分離を使用するようにデータベースを変更しました。 ただし、select count(*)where column =?テーブル上でデッドロックまたはテーブル上のロックをトリガーします。 select count(*)は中間行にのみアクセスする必要があることは正しいのでしょうか?しかし、それはそのようには見えず、依然としてデッドロックが発生しています。適切な索引付けはおそらく役立つでしょう。 問題は、SQL Server 2008 R2は、read_committed_snapshotがonに設定されている場合でも、select count(*)中にテーブルに共有ロックを設定しますか? ありがとう

3
SQL更新の処理に非常に長い時間がかかる/ディスク使用率が高い
はい、それは非常に一般的な問題のように聞こえますが、私はまだそれをあまり絞り込むことができませんでした。 したがって、SQLバッチファイルにUPDATEステートメントがあります。 UPDATE A SET A.X = B.X FROM A JOIN B ON A.B_ID = B.ID Bには40kレコード、Aには4Mレコードがあり、A.B_IDを介して1対nに関連付けられていますが、2つの間にFKはありません。 したがって、基本的にはデータマイニングの目的でフィールドを事前に計算しています。この質問のためにテーブルの名前を変更しましたが、ステートメントは変更しませんでした。それは本当に簡単です。 実行には数時間かかるため、すべてをキャンセルすることにしました。DBが破損したので、それを削除し、ステートメントを実行する直前に行ったバックアップを復元し、カーソルで詳細に進むことにしました。 DECLARE CursorB CURSOR FOR SELECT ID FROM B ORDER BY ID DESC -- Descending order OPEN CursorB DECLARE @Id INT FETCH NEXT FROM CursorB INTO @Id WHILE @@FETCH_STATUS = 0 BEGIN …

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