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

SQL Server 2008(メジャービルドバージョン10.00.xxxx)。また、sql-serverでタグ付けしてください。

3
ストアドプロシージャと生のクエリの効率
私はこの議論の両側で多くを読みました:生のクエリではなくストアドプロシージャのみを使用することで得られるパフォーマンスの大幅な向上はありますか?私は特にSQL Serverに興味がありますが、ありとあらゆるデータベースに興味があります。


3
巨大なテーブルにクラスター化インデックスを作成する簡単な方法
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 そのため、パフォーマンスが大幅に低下していると不満を言っているカスタマーサイトがあります。ひと目見てみると、問題は、Somebody Else(grrrr)がクラスター化インデックスなしで約2,000万件以上のレコードを保持するテーブルを設計したためであることは明らかです。 次に、そのテーブルにクラスター化インデックスを作成しますが、テスト環境ではcreate indexコマンドが1時間実行されており、まだ実行されていません。顧客サイトは24時間年中無休で稼働する作業場であり、インデックスを作成している間は1時間のダウンタイムは許されません。 インデックスを作成するためのブルートフォースの少ない方法で、ジョブをすばやく終了するか、ビジー状態のときにサーバーのパフォーマンスを完全に低下させないスマートな方法で実行しますか? SQL Server Enterprise Editionを使用しています。

2
クラスター化インデックスと非クラスター化インデックスのパフォーマンスの違い
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 私が読んでいたClusteredとNon Clustered Indexes。 Clustered Index-データページが含まれています。つまり、完全な行情報がクラスター化インデックス列に表示されます。 Non Clustered Index-クラスター化インデックス列(利用可能な場合)またはファイル識別子+ページ番号+ページ内の合計行の形式の行ロケーター情報のみが含まれます。これは、クエリエンジンが実際のデータを見つけるために追加の手順を実行する必要があることを意味します。 クエリ -私たちは、テーブルが一つだけ持つことができることを知っているとどのように私は実用的な例の助けを借りて、パフォーマンスの違いを確認することができますClustered Indexし、提供sorting時Clustered Index ColumnとNon Clustered Index提供していないsortingと999をサポートすることができますNon Clustered Indexes中SQL Server 2008にして249 SQL Server 2005。

4
結果を最初の2つのランキング行に制限する
SQL Server 2008では、を使用RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)してデータセットを返すために使用していRANKます。ただし、各パーティションには数百のレコードがあるため、ランク1、2、3 ...... 999から値を取得します。しかし、私RANKsはそれぞれ2つまでしかしたくないPARTITION。 例: ID Name Score Subject 1 Joe 100 Math 2 Jim 99 Math 3 Tim 98 Math 4 Joe 99 History 5 Jim 100 History 6 Tim 89 History 7 Joe 80 Geography 8 Tim 100 Geography …

7
ユーザーをSQL Server 2008データベースから追​​い出すにはどうすればよいですか?
他のユーザーが接続されているため、復元を行う必要があります。すべてのプロセスを切断したと思いましたが、明らかにそうではありませんでした。 Management Studioからこのバックアップを実行できるように、他のすべてのユーザーを開始するにはどうすればよいですか?

2
非dboスキーマと新しいデータベースをいつ使用するかの決定基準
私はほとんどがアプリケーション開発者ですが、現在のプロジェクト(MS SQL Server 2008の場合)のために、すべての事前データベース作業をしなければならないことに気付いています。最初の決定として、別のデータベースを使用して状態を分割するか、同じデータベース内の別のスキーマを使用するかを判断しようとしています。私はSQL Serverスキーマを少し読みましたが、オブジェクトドメイン(私は好きです)を分離する自然な方法のように思えますが、このパターンに隠れたコストがあるかどうかはわかりません。 これら2つのアプローチを選択する際に考慮すべき、より実用的なものは何ですか?dbo.mytableを支持しない場合、アーキテクチャにmyschema.mytable他の課題(または問題)を作成しますか? 補足として...ある時点で、これは実際の DBAに引き継がれ、保守/サポートされるので、私は彼らの生活を困難にしないように努めています。

8
アプリケーションがsaアカウントを使用しない理由
私の最初の質問は、穏やかにしてください。saアカウントは、SQL Serverおよびすべてのデータベース、ユーザー、アクセス許可などを完全に制御できることを理解しています。 完璧な、ビジネスマンに焦点を当てた理由がない限り、アプリケーションはsaパスワードを使用すべきではないという絶対的な信念を持っています。この質問への回答には、ITに焦点を当てた議論の多くの理由が含まれています saパスワードを使用しないと機能しない新しいサービス管理システムの受け入れを余儀なくされています。評価を設定するときにサーバーチームがそれをインストールして、db_createrと必要だと思った他のアクセス許可を組み込んで設定した固定ロールを使用しようと試みた理由を解決する時間はありませんでした。失敗しました。次に、サーバーチームにsaアカウントを使用してインストールさせますが、そのデータベースのdboロールのアカウントで実行しましたが、それも失敗しました。不機嫌なことに、私はsysadminロールのアカウントで実行しようとしましたが、それでも失敗し、利用可能な時間よりも多くの時間を費やすことなく何が起こっているのかを理解できる有用なエラーメッセージがありませんでした。構成ファイルにクリアテキストで保存されたsaアカウントとパスワードでのみ機能します。 これを問い合わせると、サーバーチームがベンダーと話し合ったところ、「問題は何ですか?」そして、「パスワードのスクランブルを見ることができます」スクランブルffs 私はファイルへのアクセスを制限する方法と手段があることを知っていますが、それは私の意見ではセキュリティの別の弱点です とにかく、私の質問は、誰かが私がビジネスにこれが悪いことであり、大きなノーノーである理由を説明するために使用できるいくつかのドキュメントを私に指すことができますか?私は、セキュリティを真剣に考える必要があるという分野で働いており、ビジネスを理解するのに苦労しており、最終的にはいずれにしても上位にランクされる可能性がありますが、試してみる必要があります。

5
本番環境でHierarchyIdを使用している人はいますか?信頼できますか?
数千行以上の適切なサイズのテーブルで、実際の運用でHierarchyIdを使用している人はいますか?信頼性/性能はありますか?これまでのところ、ベンダーと提携していない人がそれを推奨しているのを発見していません。PaulNielsenはここでこれに反対しています。 実際の運用システムでHierarchyIdを使用した経験は何ですか? 代わりにHierarchyIdを選択したときに、どの基準を使用しましたか?

8
「ストアドプロシージャがMS SQL Server Management Studioで作成されていても、ストアドプロシージャが見つかりませんでした」
次の構造を持つテーブルtesttableをデータベース内に作成しましたtestbase。 product_no (int, not null) product_name (varchar(30), not null) price (money, null) expire_date (date, null) expire_time (time(7), null) Microsoft SQL Server 2008 Management Studioを使用しました。 testtable_pricesmaller次のようにストアドプロシージャを作成しました use testbase go create procedure testtable_pricesmaller @pricelimit money as select * from testtable where price = @pricelimit; go Object ExplorerMicrosoft SQL Server Management Studioでストアドプロシージャを表示できます。(次のツリー構造にリストされていますObject Explorer) …

3
欠落しているインデックスを盲目的に追加しても大丈夫ですか?
頻繁にSSMSを使用して、インデックスが不足していないかどうか、遅いストアドプロシージャをテストします。「Missing Index(Impact xxx)」というメッセージが表示された場合はいつでも、新しいインデックスを作成するだけです。これにより、私が知る限り、毎回クエリが高速になります。 これを続けるべきではない理由は何ですか?

3
SQL Server Management Studioのオートコンプリートを抑制する
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 クエリの入力中にSQL Server Management Studioのオートコンプリートを一時的に抑制する方法はありますか?オートコンプリートを完全に無効にしたくないのは、特定の単語を入力するときにキーを押したままにして、邪魔にならないようにするだけです。 たとえば、次のクエリがあったとします SELECT Foo, Foo2 FROM SomeTable 入力してFooからスペースバーを押すと、SQL Server Management Studioのオートコンプリートが開始され、完了FooしFooBarます。

3
最小のダウンタイムで大きなテーブルにrowversion列を追加するにはどうすればよいですか
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 SQL Server 2008以降を使用して、rowversion列を大きなテーブルに追加したいのですが、単純に ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL その後、更新のためにテーブルが長すぎます。 このダウンタイムを減らすためにどのような戦略を使用できますか?何でも検討します。もちろん、単純であればあるほど良いのですが、どのような戦略も検討します。 私の考えでは、最後の手段として、トリガーによって維持されるコピーステージングテーブルを維持してから、ステージングテーブルを元のテーブルにsp_renameできると考えています。しかし、私はもっとシンプルで簡単なものを望んでいます。

1
永続化された計算列を選択すると、SQL Serverが「Compute Scalar」になるのはなぜですか?
SELECTこのコードの3つのステートメント USE [tempdb]; GO SET NOCOUNT ON; CREATE TABLE dbo.persist_test ( id INT NOT NULL , id5 AS (id * 5) , id5p AS (id * 5) PERSISTED ); INSERT INTO dbo.persist_test (id) VALUES (1), (2), (3); SELECT id FROM dbo.persist_test; SELECT id5 FROM dbo.persist_test; SELECT id5p FROM dbo.persist_test; DROP …


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