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

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

4
シングルユーザーモードでSQLサーバーに接続できない
私は私の始めているSQL Server 2008 sqlcst02\inst01中をSingle User Mode付加することで;-m、このインスタンスの起動パラメータの終わりにSQL Server Configuration Manager。インスタンスのSQL Server Agentために停止しましたinst01。私のアカウントはのメンバーであり、サービスDomain Admin groupを使用してログインしようとするsqlcmd -S sqlcst02\inst01とエラーが発生し続け、ログインSingle User Modeできる管理者は1人だけです。;-m"sqlcmd"接続を制限するために起動パラメーターに追加しようとしましたsqlcmdが、同じ結果。私は自分のアカウントでログインし、ローカル管理者アカウントでログインしてみました。自分と管理者の両方でコマンドプロンプトを起動しましたが、同じ結果が得られます。で接続してみADMIN:sqlcst02\inst01ましたSSMS。運が悪い。 sa前の管理者がこの情報を教えてくれなかったため、パスワードをリセットしようとしています。これは厄介です。私は以前に他のマシンでこれを問題なく行いました。

1
クエリの最適化:時間間隔
主に、2種類の時間間隔があります。 presence time そして absence time absence time さまざまなタイプ(休憩、欠席、特別な日など)にすることができ、時間間隔が重複したり交差したりする場合があります。 生データに存在する区間のもっともらしい組み合わせだけが存在するかどうかは確かではありません。存在間隔の重複は意味がありませんが、存在する場合があります。結果として得られるプレゼンスタイムインターバルをさまざまな方法で特定しようとしましたが、私にとって、最も快適なのは次のインターバルのようです。 ;with "timestamps" as ( select "id" = row_number() over ( order by "empId", "timestamp", "opening", "type" ) , "empId" , "timestamp" , "type" , "opening" from ( select "empId", "timestamp", "type", case when "types" = 'starttime' then 1 else -1 …

1
SQL Server 2000から2008から2012
現在、SQL Server 2000から2008に移行しています。2000年から2008年にかけて多くの変更が加えられたため、コードやスクリプトに多くの変更を加えています。これらの変更を行いながら、知りたいのは-2012年にも互換性を持たせるために今できることはありますか?同時に。2012年から2008年などの下位互換性のある変更が少なくともあります。これを行いたいのは、2008年から2012年に移行することを決定したときに、将来(3〜4年後)の労力を最小限に抑えるためです。私ができること、または知っておくべきことは何ですか?

3
SQL Server Management Studioを介して別のサーバーをマップする方法
コマンドを入力して別のサーバーをマップしようとしています EXEC xp_cmdshell 'NET USE H:\\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes' これでエラーが発生しました: ネットワークパスが見つかりません しかし、別のサーバーを手動でマップすることができます。これを整理するのを手伝ってください。

1
EXECUTE AS USERとEXECUTE AS LOGINの違いは何ですか?
最近、EXECUTE AS LOGINを使用して、特定のユーザーがデータベースの1つでテーブル関数を使用できるかどうかを確認しています。テストは彼ができることを示したが、彼は失敗を繰り返し報告した。 人はログイン「WEB」を使用してデータベースに接続し、ログイン「WEB」に関連付けられたデータベースに「WEB」というユーザーがいるため、次のスクリプトを試しました。 -- part 1 EXECUTE AS USER = 'WEB' GO SELECT USER_NAME() AS 'user_name' ,SUSER_NAME() AS 'suser_name' ,SUSER_SNAME() AS 'suser_sname' ,SYSTEM_USER AS 'system_user' GO REVERT GO そして -- part 2 EXECUTE AS LOGIN = 'WEB' GO SELECT USER_NAME() AS 'user_name' ,SUSER_NAME() AS 'suser_name' ,SUSER_SNAME() AS 'suser_sname' ,SYSTEM_USER …

3
マージレプリケーションのアーティクル数のハード制限?
背景のビット。マージレプリケーションを使用するアプリを開発しました。現在、約212の記事を公開していますが、256の記事数の制限に収まっているようです。(サーバーではSQL Standard 2005、サブスクライバーレベルでは2005 Expressを使用します。) 私たちは新しいバージョンを開発中であり、新しいデータベースはゼロから構築されています。これには、SQL 2008 R2 Standardサーバー側とExpress 2008 R2の最小システム要件があり、クライアント側でも同様です。公開された記事と同じ256カウント制限。(はい、2012年もサポートしますが、制限は同じです) 問題は、新しいバージョンで400以上の記事を公開してテストに成功し、すべてが機能的にテストされるところです(パブの作成、スナップショットとサブスクライバーの作成、およびレプリケーション自体)。他の誰かが以前にカウント制限を超えたことがありますか?これはソフト推奨制限に過ぎませんか?パブリケーションの作成中、またはサブスクライバーの作成中に、エラーは発生していません。 この記事によると:http : //msdn.microsoft.com/en-us/library/ms143432%28v=sql.105%29 Microsoftからのコールバックを待っていますが、SQLのどのバージョンでも、これを以前に見たことがあるかどうか知りたいのですが。

1
行の変更時に日付フィールドと時間フィールドを更新するトリガーを作成するにはどうすればよいですか?
次の構造を持つ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) ただし、変更された(または新しい情報で更新された)特定の行を更新し、変更日をexpire_dateフィールドに、変更時間をフィールドに記録するようにトリガーを作成するにはどうすればよいexpire_timeですか?(またはこれが可能かどうか)

4
2つのテーブル(異なるサーバー上)がまったく同じデータを持っているかどうかの確認
したがって、SQL Serverをホストしている会社が、運用サーバーからバックアップサーバーへのレプリケーションに問題を抱えているようです...いくつかのテーブルは正しくレプリケートされていると思います。複製は毎日(時間外に)行われます。 同じテーブルの2つを比較する方法はありますか。1つはバックアップからで、もう1つは本番サーバーからです。昨夜のレプリケーションが機能したかどうかを確認できますか? 私が見つけることができた唯一の方法は、両方のサーバーで次のクエリを実行し、結果が一致するかどうかを確認することでした。 SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM ( SELECT * FROM table_to_compare ) t1 上記のコードを使用すると、チェックサム値が同じであるため、テーブルは正常に複製されたようですが、この方法の信頼性はわかりません。 これをチェックするより良い方法を知っている人はいますか? Windows Server 2008コンピューターでSQL Server 2008を実行しています。 ありがとう。

2
インデックスはメモリを消費しますか?
SQL Serverでのメモリ使用量について学び始めました。質問SQL Server 2008 R2「ゴーストメモリ」への回答でクエリを使用する場合 、私は単一のデータベースがバッファプールの非常に大きな領域を占有していることを発見しました。さらに調べてみるsys.allocation_unitsとsys.indexes、とを使用して、データベースでインデックスが頻繁に使用されていることが原因であることを確認しました。ほとんどのインデックスはクラスター化されています。 別のデータベース開発者は、サーバーでメモリの問題が発生していると考えています。利用可能なメモリがないため、クエリが長く実行され始めています。 私の質問はここにあります-これらのインデックスの使用とバッファプール内でのそれらの存在は、他のプロセスで利用可能なメモリを奪いますか?

5
列をコンマで分割するT SQLテーブル値関数
Microsoft SQL Server 2008でテーブル値関数を記述して、データベースのカンマ区切りの列を取得し、各値の個別の行を出力しました。 例:「one、two、three、four」は、次の値を含む列が1つだけの新しいテーブルを返します。 one two three four このコードはエラーが発生しやすいように見えますか?私がそれをテストするとき SELECT * FROM utvf_Split('one,two,three,four',',') 永久に実行され、何も返さない。MSSQLサーバーには組み込みの分割関数がないので(なぜ、なぜ、なぜ!?)、Webで見つけた同様の関数はすべて、完全にゴミ箱であるか、または私がやろうとしていることとは無関係であるため、これは特に失望します。 。 これが関数です: USE *myDBname* GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[utvf_SPlit] (@String VARCHAR(MAX), @delimiter CHAR) RETURNS @SplitValues TABLE ( Asset_ID VARCHAR(MAX) NOT NULL ) AS BEGIN DECLARE @FoundIndex INT DECLARE …

3
TSQLのパフォーマンス-値の最小値と最大値の間のJOIN
私が保存している2つのテーブルがあります。 IP範囲-国ルックアップテーブル 異なるIPからのリクエストのリスト IPはbigints として保存され、ルックアップのパフォーマンスが向上しました。 これはテーブル構造です: create table [dbo].[ip2country]( [begin_ip] [varchar](15) NOT NULL, [end_ip] [varchar](15) NOT NULL, [begin_num] [bigint] NOT NULL, [end_num] [bigint] NOT NULL, [IDCountry] [int] NULL, constraint [PK_ip2country] PRIMARY KEY CLUSTERED ( [begin_num] ASC, [end_num] ASC ) ) create table Request( Id int identity primary key, [Date] datetime, …

2
SQL Server Management Studio 2008にテーマを適用する方法は?
たとえば、SSMS 2008のテキストエディターコンポーネントに「暗い」それらを適用することで成功した人はいますか? 2005年には、機能しなくなってアップグレードされていない古いトリックがありました。 http://winterdom.com/2007/10/colorschemesinsql2005managementstudio 私の目は本当に感謝します!乾杯。

3
この完全外部結合が機能しないのはなぜですか?
以前は完全外部結合を使用して希望の結果を得ていましたが、単純な結合を実現できないため、概念を完全に理解できていない可能性があります。 それぞれ2つのフィールドを持つ2つのテーブル(t1とt2と呼びます)があります。 t1 Policy_Number Premium 101 15 102 7 103 10 108 25 111 3 t2 Policy_Number Loss 101 5 103 9 107 20 私がやろうとしていることは、両方のテーブルとPolicy_NumberからPremiumとSum of Lossesの合計を取得することです。私が使用しているコードは: select sum(premium) Prem_Sum, sum(Loss) Loss_Sum, t1.policynumber from t1 full outer join t2 on t1.policynumber = t2.policynumber group by t1.policynumber 上記のコードは正しい合計を返しますが、一致するpolicy_numberがないすべてのレコードを「NULL」policy_numberでグループ化します。 結果がこのように見えるようにしたい Policy_Number Prem_Sum …

3
この表に数値を挿入するときに、先頭のゼロをどのように保存しますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 8年前休業。 テーブルに2つのレコードを挿入しました。 create table num(id int) insert into num values(0023) insert into num values(23) select * from num クエリすると、すべてと表示され23ます。つまり、SQL Serverは先頭の0を無視します。その背後にあるメカニズムは何ですか?SQL Serverで、挿入時に値を返すにはどうすればよいですか(つまり0023、および23)?

2
ウィンドウ関数は、外部パラメーター化された 'where'句を含むビューから呼び出されると、ひどい実行プランを引き起こします
私はずっと前にこの問題を抱えていましたが、自分に合った回避策を見つけ、それを忘れていました。 しかし、今はその問題がSOにあるので、この問題を取り上げるつもりです。 非常に簡単な方法(注文+注文明細)でいくつかのテーブルを結合するビューがあります。 where句なしでクエリを実行すると、ビューは数百万行を返します。 しかし、誰もそれをそのように呼ぶことはありません。通常のクエリは select * from that_nasty_view where order_number = 123456; これは、5分のうち約10レコードを返します。 重要なこと:ビューにはウィンドウ関数が含まれています。ウィンドウ関数はrank()、ビューが常に照会されるフィールドによって正確に分割されます。 rank() over (partition by order_number order by detail_line_number) さて、このビューがクエリ文字列のリテラルパラメータでクエリされた場合、上記とまったく同じように、ビューは即座に行を返します。実行計画は問題ありません: インデックスを使用して両方のテーブルのインデックスシークorder_number(10行を返します)。 返された小さな結果に対するウィンドウの計算。 選択。 ただし、ビューがパラメーター化された方法で呼び出されると、状況が悪化します。 Index scanインデックスを無視してすべてのテーブルで。5m行を返します。 巨大な参加。 すべてpartitionのsのウィンドウを計算しています(約500kウィンドウ)。 Filter 5mから10列を取る。 選択する これは、パラメーターが関係するすべての場合に発生します。それはSSMSである場合もあります: declare @order_number int = 123456; select * from that_nasty_view where order_number = @order_number; これは、ExcelなどのODBCクライアントにすることができます。 …

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