タグ付けされた質問 「configuration」

ハードウェア、ファームウェア、ソフトウェア、またはデータベースシステムの他のコンポーネントの設定の選択。

8
SQL ServerのMAXDOP設定アルゴリズム
新しいSQL Serverをセットアップするとき、次のコードを使用して、MAXDOP設定の適切な開始点を決定します。 /* This will recommend a MAXDOP setting appropriate for your machine's NUMA memory configuration. You will need to evaluate this setting in a non-production environment before moving it to production. MAXDOP can be configured using: EXEC sp_configure 'max degree of parallelism',X; RECONFIGURE If this instance is hosting a …


3
特定のデータベースとユーザーのsearch_pathは何ですか?
私は現在search_pathを見ることができます: show search_path ; そして、私search_pathは現在のセッションのために設定することができます: set search_path = "$user", public, postgis; 同様に、search_path特定のデータベースのを次のように永続的に設定できます。 alter database mydb set search_path = "$user", public, postgis ; そして、私はsearch_path特定の役割(ユーザー)に永久的に設定することができます: alter role johnny set search_path = "$user", public, postgis ; しかし、それらを変更する前に、データベースとロールの設定が(に関してsearch_path)であるかどうかを判断する方法を知りたいですか?


4
ALLOW_SNAPSHOT_ISOLATIONおよびREAD_COMMITTED_SNAPSHOT
オンラインフォーラムと例のほとんどは、常に両方持つことをお勧めALLOW_SNAPSHOT_ISOLATIONしてREAD_COMMITTED_SNAPSHOT、誰かがスナップショット、行バージョン管理または類似の質問をされるたびにONに設定します。 どちらの設定でもSNAPSHOTという言葉は少し混乱するものと思います。データベースエンジンがREAD_COMMITTEDのデフォルトの動作にロックの代わりに行バージョン管理を使用するために、データベースREAD_COMMITTED_SNAPSHOTはどの設定に関係なく ONに設定されると考えましたALLOW_SNAPSHOT_ISOLATION。 ALLOW_SNAPSHOT_ISOLATION設定は、トランザクション(例えばSETトランザクション分離レベルのスナップショット)を起動するときだけスナップショット分離を可能にするために、ONに設定されているにかかわらずのREAD_COMMITTED_SNAPSHOT設定。 これらの2つの設定をONに設定する唯一の理由は、READ COMMITTED行のバージョン管理と スナップショット分離が必要な場合です。 私の質問は、私の理解が何らかの形で間違っているのですか?そして、これら2つの設定は常に一緒にONに設定する必要があります(特にREAD COMMITTED行バージョン管理の場合)?

6
SqlClientをデフォルトでARITHABORT ONにする
まず最初に:互換性レベル80のデータベースでMS SQL Server 2008を使用し、.Netで接続していSystem.Data.SqlClient.SqlConnectionます。 パフォーマンス上の理由から、インデックス付きビューを作成しました。そのため、ビューで参照されるテーブルの更新はで行う必要がありますARITHABORT ON。ただし、プロファイラーはSqlClientがに接続していることを示しているARITHABORT OFFため、これらのテーブルの更新は失敗しています。 SqlClientを使用するための中央構成設定はありますARITHABORT ONか?私が見つけることができた最善の方法は、接続が開かれるたびに手動で実行することですが、これを行うために既存のコードベースを更新することはかなり大きなタスクになるので、より良い方法を見つけたいです。


5
インスタンスのパフォーマンスを維持するために定期的な再起動が必要なのはなぜですか?
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 SQL 2005に運用DBサーバーがあります。すべてはしばらく正常に動作しますが、数週間後、顕著なパフォーマンスの低下が見られます。SQL Serverを再起動するだけで、パフォーマンスが通常に戻ります。 背景: 1200以上のデータベース(ほとんどが単一テナント、一部がマルチテナント)を実行しています。マルチテナントのみへの移行について講義する前に、この構造を維持する正当な理由があります...... RAMは16 GBです。再起動後、SQL Serverが15 GBの使用量に戻るのにそれほど長くかかりません。 アクティブDB接続は約80の接続です-プロセスごとにWebサーバーごとに1つの接続プールがあることを考えると、かなり健全であると感じているため、接続リークの問題はありません。 ピーク時以外にいくつかのことを試しました。-DBCC DROPCLEANBUFFERS(チェックポイント付き)を実行して、データキャッシュをクリアします。効果はなく、RAM使用量もクリアされません)。-FREEPROCCACHEおよびFREESYSTEMCACHEを実行して、クエリプランとストアドプロシージャキャッシュをクリアします。無効。 明らかに、SQL Serverを再起動することは、アクティブな運用環境では理想的ではありません。何かが欠けています。他の誰かがこれを通過しますか? 更新:April-28-2012 まだこの問題と戦っています。OSとの競合を排除するために、SQL Serverのメモリを10 GBに下げました。絞り込みに近づいていますが、次のステップからの助けが必要です。 SQL Serverを再起動した後、ページファイルが12.3 GBから12.5 GBの間でホバリングしていることがわかりました。それは数日間そのままです。合計サーバースレッドは850から930の間でハングアウトします-安定しており、終日一貫しています(sqlserverはトラフィックに応じて55から85の間で安定しています)。 次に、「イベント」があります。私はイベントが何であるかわからず、ログでそれを見ることができず、曜日またはそれが起こる時間に一貫したものを見ることはできませんが、突然ページファイルはすべて14.1または14.2のいずれかにジャンプしますGB、およびスレッドは1750〜1785の間にジャンプします。 これが発生したときにパフォーマンスをチェックすると、これらのスレッドのうち900以上がsqlserverです。したがって、sp_who2にアクセスして、これらのスレッドがどこから来ているのかを確認します。使用されている80個程度のdb接続があります。 だから.... SQLサーバー上のこれらの900個のスレッドの残りがどこにあるのか、そして彼らが何をしているのかを見つけることができるアイデアはありますか? 更新:2012年6月1日 まだ問題と戦っています。まだこれを読んでいる人にとっては、スレッドが跳ね上がる問題は解決されています。これは、自動化されたComVaultバックアップソフトウェアが原因でした。現在のデータベースを単にバックアップするのではなく、もはや存在しないデータベースをバックアップしようとするスレッドを作成していました(以前のデータベースのリストを維持していました)。 しかし、問題はまだ残っており、毎週再起動する必要があります。Rackspaceチームと協力して、光を当てられるかどうかを確認します。


5
WHERE句の100,000を超えるエントリが原因のSQL Serverエラー8632
私の問題(あるいは少なくとも、エラーメッセージは)非常によく似ているクエリプロセッサの内部リソースを使い果たした-非常に長いSQLクエリを。 私の顧客は、正確に100,000エントリのwhere-clauseを含むSQL select-queryを使用しています。 クエリはエラー8632とエラーメッセージで失敗します 内部エラー:式サービスの制限に達しました。クエリで潜在的に複雑な式を探し、それらを単純化してみてください。 このエラーメッセージが正確に100,000エントリでスローされることは非常に奇妙であるため、これが設定可能な値であるかどうか疑問に思います。これは事実ですか?そうであれば、この値をより高い値に増やすにはどうすればよいですか? 上のMSDN、そこにクエリを再書き換えるための提案ですが、私はこの問題を回避したいと思います。 一方、私が話しているエントリのリストには自然数が含まれていることがわかりました。それらのかなりの数は連続しているように見えます( 13,15,16,17,18,19,20)。 これにより、SQLのwhere句は次のようになります。 where entry in (1,2,3,6,7,8,9,10,12,13,15,16,17,18,19,20) これを次のように変換できます。 where (entry between 1 and 3) OR (entry between 6 and 10) OR (entry between 12 and 13) OR (entry between 15 and 20) これは次の方法で短縮できますか? where entry in (1,...,3,6,...,10,12,13,15,...,20) ...または同様のものですか?(私はそれがロングショットであることを知っていますが、それはソフトウェアの更新をより簡単で読みやすくするでしょう) 参考までに、where-clauseのデータは計算の結果であり、別のテーブルで行われます。最初にそのテーブルのエントリが読み取られ、最初にフィルタリングされ、次に追加の処理が行われます(使用することは不可能です) SQL)、その追加処理の結果はより多くのフィルタリングであり、その結果はwhere-clauseで使用されます。SQLで完全なフィルタリングを記述することは不可能であったため、前述の方法が使用されています。where-clauseの内容は処理ごとに変わる可能性があるため、動的なソリューションが必要であることは明らかです。

1
postgresql.confファイルの「max_wal_size」および「min_wal_size」パラメーターのデフォルト値を理解する
デフォルト値は、ドキュメントmin_wal_sizeおよびmax_wal_sizeパラメータによると: For max_wal_size:The default is 1 GB For min_wal_size:The default is 80 MB 次に、データベース構成から次のパラメーターを探します。 select name, setting, unit from pg_settings where name in ('min_wal_size', 'max_wal_size') 結果を与える: name | setting | unit ---------------------------------- max_wal_size | 64 | min_wal_size | 5 | 2つの質問があります。 1)これらの値がドキュメントに示されているデフォルト値と一致しないのはなぜですか?構成設定をまったく変更しませんでした。 2)unitこれらのパラメーターの列が空/ NULLである理由 この場合、64と5の値はどういう意味ですか?MB?GB?または何? work_memすべてが明確な場合、これがパラメーターの例とは異なる理由 : name | setting …

4
SQL Serverの最大メモリ、ページファイル、最大並列度
3つの質問は、宇宙のDBAマスターが答えられることを願っています: SQL Serverの最大メモリを設定することがベストプラクティスであることは知っています。したがって、44 GB RAMのサーバーにSQL Serverがインストールされている場合、SQL Serverの最大メモリを約37 GBに設定する必要があります。 しかし、SQL Analysis ServiceとSQL Reporting ServicesがSQL Serverと同じサーバーにインストールされている場合、何を設定する必要がありますか?SQL Serverの最大メモリを22GB RAMに設定して、分析で他の22GB RAMを使用できるようにした方が良いでしょうか? 44 GB RAMのSQL Serverを実行しているサーバーで、ページファイルサイズを設定するためのベストプラクティスは何ですか?私はブレント・オザール(http://www.brentozar.com/archive/2014/06/sql-server-setup-checklist-free-ebook-download/)で以下を読みました: SQL Serverは、巨大なページファイルを必要としません。サーバーに他のアプリケーションをインストールする場合(これはお勧めしません-SQL Serverは分離する必要があります)。より大きなページファイルが必要になる場合があります。ボックスで実行されている主要なサービスがSQL Serverのみである場合、通常、システムドライブに2GBサイズのページファイルを作成します。 Microsoftは、Remusが提供するアドバイスに一致するRAMの1.5倍に管理されるページファイルシステムを設定する必要があると述べています(参照-> http://rusanu.com/2009/11/22/system-pagefile-size-on-machines-with -large-ram /)。 したがって、44GB RAMを搭載したサーバーには、SQL Analysis ServiceとSQL Reporting Servicesの隣にSQL Serverがインストールされています。ページファイルをどのサイズに設定する必要がありますか? SharePointの場合、SharePointファームの一部であり、SharePointがデータベースを格納するSQL Serverは、1に最大並列度を設定する必要があります。これで、SharePointファームの一部ではないサーバー(sql2) SQL Server、SQL Analysis、およびReportingがインストールされているサーバー。SharePointはこのサーバーにデータベースを保存しませんが、SharePointが読み書きするレポートおよび分析データベース/キューブが作成されています。 ブレントオザール言う: 経験則:これを、ハードウェア上の単一のNUMAノード(プロセッサ)ソケットの物理コアの数以下に設定します 4つのVCPUがある場合、このSQL Serverインスタンスで最大限の並列処理を実現するには、何を構成する必要がありますか? 皆さんが私だけでなく、インターウェブのジャングルよりも多くのSQL管理者がベストプラクティスについてもう少し洞察を与えてくれることを願っています。

3
.my.cnf設定が機能しないのはなぜですか?
デスクトップのホームディレクトリに.my.cnfファイルがあります。 [dbid] user = myusername password = mypassword database = dbname host = server.location.com 正しく思い出すと、Ubuntu 10.04から11.04にアップグレードする前に、次のコマンドを使用できました。 mysql dbid データベースに直接接続するには しかし、今日私はこのエラーを受け取ります: ERROR 1049 (42000): Unknown database 'dbname' 私は何か間違ったことをした?

3
MySQL InnoDB page_cleaner設定は最適ではない可能性があります
mysqld.logでこのメモを確認します。 [Note] InnoDB: page_cleaner: 1000ms intended loop took 15888ms. The settings might not be optimal. (flushed=200 and evicted=0, during the time.) このようなことについてここで言及されているようです: 「同期インデックスを実行中」のMySQLインスタンスのストール 私の質問は、このメモがログに記録された場合、どのようなアクションが実行されるべきかということです。 MySQLおよびOSバージョン: mysql-community- server- 5.7.9 -1.el7.x86_64 centos-release-7-1.1503.el7.centos.2.8.x86_64 実行SHOW変数は「%InnoDBの」のような。提案されているように: innodb_page_cleaners | 1

3
SQL ServerでSSDドライブのRAIDアレイを構成するにはどうすればよいですか?
48 GB RAM、1 CPU、および8 SATA III(6GB / s)SSDドライブ(128 GB Crucial m4)およびLSI MegaRAIDコントローラー(SAS 9265-8i)を備えたSQL Serverを構築しています。典型的な作業負荷はほとんど読み取りであると予想されます。いくつかの期間、より重い書き込みアクティビティがあります(サードパーティのデータプロバイダーとの1時間ごとのデータ同期-毎晩のバックアップ)が、一般的な読み取り/書き込み比率は約90%読み取り/ 10%書き込みです。 オプション1: 論理ドライブC:-RAID 1(2台の物理ドライブ) -OS論理ドライブD:-RAID 10(6台の物理ドライブ)-DBファイル/ログ/ tempdb / backups? または オプション2: 論理ドライブC:-RAID 1(2つの物理ドライブ) -OS論理ドライブD:-RAID 1(2つの物理ドライブ)-Dbファイル 論理ドライブE:-RAID 1(2つの物理ドライブ)-ログファイル/バックアップ? 論理ドライブF:-RAID 1(2つの物理ドライブ)-tempdb または オプション3: その他の提案 すべてのDBアクティビティは3つのドライブにストライピング(およびアレイ内の他の3つにミラーリング)されるため、オプション1はパフォーマンスを向上させると考えていますが、オプション2は従来の知恵を模倣しているようです(機械的により多く適用されるようです)SSDよりもドライブ)。Stack Overflowはオプション1でなくなったようです。 SSDでは、その時点でI / Oが制限されているのではなく、サーバーのCPUが制限されている可能性があるため、すべてを単一の論理ドライブに配置しても問題ないと思います。 もう1つの質問は、夜間バックアップをどこに配置すればよいかということです。バックアップによってSQLサーバーの残りの部分の速度が低下することは望ましくありません。これらの場合の読み取り/書き込み動作は順次書き込みなので、ログと同じ場所にバックアップを書き込むことをお勧めします。

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