人に聞けない痔の悩み、これでスッキリ >>

SQLServerの再起動をスケジューリングしたいです。
この程度ならググってすぐ分かるだろうと思ったのですが、見つかりませんでした(探し方がアカンなぁ)。

すみません、宜しくお願いします。

このQ&Aに関連する最新のQ&A

SQLServer とは」に関するQ&A: SQLServerとは?

A 回答 (3件)

OSによって呼び方は変わるかもしれませんがタスクスケジューラでバッチファイルを仕込んでおけば意外と簡単にできますよ。


停止:net stop MSSQLServer
開始:net start MSSQLServer
のコマンドをそれぞれ実行する(同時実行でも構わないと思いますが…wait を入れた方が良いでしょうから)ことで対応出来ると思いますよ。
    • good
    • 2

サービスとして起動しているのであれば、コマンドで制御が可能です。


↓停止時
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/2 …
↓開始時
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/2 …

バッチファイルを作成してタスクスケジューラに登録しておけば時間がきたら停止or開始されますよ
    • good
    • 1

SQLServerの終了


NET STOP MSSQLSERVER /Y

SQLServerの開始
NET START MSSQLSERVER /Y

後は、タスクでスケジュールを組めばOKです
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QChromeリモートデスクトップがたまに落ちる

自宅のPC(Windows7)にがGoogleChromeリモートデスクトップを入れて、外出先から操作できるようにしています。
しかし最近、フリーズ等して再起動後に、Chromeリモートデスクトップが有効になっていないというか、
外部から接続しようとしてもリスト上では、オフラインになっているため接続できません。

現在の対応としては、
自宅PCからChromeリモートデスクトップページを開き、
マイパソコン上では「リモート接続が有効になっている」のに、
別のPCからはオンライン表示になっていません。
なので一度無効にしてから再度有効にすると(PINコードも入れ直す)、
別のPCにてオンラインが確認でき、復旧します。

その後分かったのですが、有効にし直さなくても、
コンピュータの管理画面からサービスを開き、
「Chromeリモートデスクトップ」というサービスを再起動すると復旧することが分かりました。

いずれにしても、一度帰宅した時に対応しなければいけないので、
外出先で気づいた場合、その日は何も操作できません。

外出先から自宅のPCへサービスの再起動コマンドを打つとか、
毎日自動的にサービスを再起動させるとか、ないか良い方法はありませんでしょうか?

自宅のPC(Windows7)にがGoogleChromeリモートデスクトップを入れて、外出先から操作できるようにしています。
しかし最近、フリーズ等して再起動後に、Chromeリモートデスクトップが有効になっていないというか、
外部から接続しようとしてもリスト上では、オフラインになっているため接続できません。

現在の対応としては、
自宅PCからChromeリモートデスクトップページを開き、
マイパソコン上では「リモート接続が有効になっている」のに、
別のPCからはオンライン表示になっていません。
なので一度無効にし...続きを読む

Aベストアンサー

Chromeリモートデスクトップを使ったことはないのですが・・・

http://oshiete.goo.ne.jp/qa/1849665.html
http://www.teppi.com/fileblog/support/003_support_netrestart.php
な感じでサービスは再起動できます。

ただ1経路死んだら作業できなくなるのは流石に辛いので、別のリモートデスクトップ環境を整えるのも良いと思います。

たとえばwindowsリモートデスクトップ
http://golden-monkey.info/?p=930

VNC
http://ja.wikipedia.org/wiki/Virtual_Network_Computing
(windows環境ならultravnc、linuxならtigervncですか)

VPNを張るのも手ですが、そこまでやらなくてもいいんじゃないかなと。

何にせよ、セキュリティ対策はお忘れ無く。

Qコマンドプロンプトからのサービス再起動

コマンドプロンプトからのサービス再起動

TracLightningを使っているのですが
サービスが、たまにハングしていて困っています。

根本原因は判明していないのですが
ひとまず、深夜にサービス再起動をして様子を
見ようと考えています。

ついでに自動化しておきたいのですが
コマンドプロンプトからのサービス再起動の方法が
わかりません。(バッチ化するつもり)

ご教示頂けませんでしょうか

Aベストアンサー

net startでどうぞ
http://www.atmarkit.co.jp/fwin2k/win2ktips/258netcommand/netcommand.html

Qコマンドプロンプトサービスの停止と開始について

OS Windows Server2003

バックアップを取るため
SQL Serverサービスをタスクで自動で開始と停止をやりたいんですが、
バッチを組み実行したところ、開始は問題ないのですが
停止するときにバッチがそのまま止まってしまいます。

ログを調べたところ次の文面が表示されていました。

※「次のサービスは MSSQLSERVER サービスに依存しています。
MSSQLSERVER サービスを停止すると、これらのサービスも停止されます。
   SQLSERVERAGENT

この操作を続行しますか? (Y/N) [N]: 」

コマンドプロンプトで「y」を実行すると停止します。

このようにバッチを組んでいます。
開始バッチ
set log=c:\log\SQL-service-start.log

net start mssqlserver >> %log%
net start SQLServerAgent >> %log%

停止バッチ
set log=c:\log\SQL-service-stop.log
net stop mssqlserver >> %log%

申し訳ございませんが、ご教授の方お願いします。

OS Windows Server2003

バックアップを取るため
SQL Serverサービスをタスクで自動で開始と停止をやりたいんですが、
バッチを組み実行したところ、開始は問題ないのですが
停止するときにバッチがそのまま止まってしまいます。

ログを調べたところ次の文面が表示されていました。

※「次のサービスは MSSQLSERVER サービスに依存しています。
MSSQLSERVER サービスを停止すると、これらのサービスも停止されます。
   SQLSERVERAGENT

この操作を続行しますか? (Y/N) [N]: 」

コマンドプロ...続きを読む

Aベストアンサー

単純な回避策は、停止バッチを以下のように書き換えると可能です。

set log=c:\log\SQL-service-stop.log
net stop SQLServerAgent >> %log%   ←この行を追加
net stop mssqlserver >> %log%

サービスに依存関係がついているため、mssqlserverサービスを止めるためには、SQLServerAgentが先に止まっている必要があります。
なので、mssqlserverサービスを止める時に、既にSQLServerAgentが止まっていれば、確認メッセージは表示されなくなります。

Qバッチファイル作成について

hotfix以外作ったことないので、質問です。
ローカル環境にSQL Server2000をインストールしました。

今一番やりたいことは、SQL Server2000のサービスの開始と停止を
自動やるバッチファイルを作りたいです。

オススメのURLなどありましたら教えてください。

Aベストアンサー

**************
<osql リファレンス>からの抜粋
**************

2-2、サーバーの起動とシャットダウン

構文 SHUTDOWN [WITH NOWAIT]

引数 WITH NOWAIT を省略すると、各データベーす内でチェックポイントを実行して終了します。なお、次のようにコマンド プロンプトから net stop mssqlserver を実行してシャットダウンすることもできます。

D:\> net stop mssqlserver
MSSQLSERVER サービスを停止中です。
MSSQLSERVER サービスは正常に停止されました。

SQL Server は、Enterprise Manager、サービスマネージャで起動、一時停止、再開、停止することができますが、コマンドプロンプトから「net start SQLServerAgent」、「net start mssqlserver」、「net start sqlservr」と入力することで起動できます。

D:\> net start SQLServerAgent
SQLSERVERAGENT サービスを開始します。
SQLSERVERAGENT サービスは正常に開始されました

D:\> net start mssqlserver
MSSQLSERVER サービスを開始します。
MSSQLSERVER サービスは正常に開始されました。

ただし、「net start SQLServerAgent」で起動すると、「net stop SQLServerAgent⇒net stop mssqlserver」という手順でサービスを停止することになります。「net stop mssqlserver」のみを実行しても、手順は省けません。

*****************
第一章、データベースの管理からの抜粋
*****************

1-2、サーバーのシャットダウン

もう少し、osql について説明しておきます。

  osql -E -S サーバー名      -d データベース名 ← Windows  認証
  osql -U ログイン名 -P パスワード -d データベース名 ← SQL Server 認証

あるいは、

  osql -E -S サーバー名
     -d データベース名 -i 入力ファイル名 -o 出力ファイル名 ← Windows  認証
  osql -U ログイン名 -P パスワード
     -d データベース名 -i 入力ファイル名 -o 出力ファイル名 ← SQL Server 認証

が、基本的な osql の構文です。
 なお、osql の構文の要約は、MS-DOSプロンプト(コマンド プロンプト)で

  osql ?

と入力すると参照することができます。
 次は、サーバーをシャットダウンするバッチファイルと実行結果です。SQL Server サービスマネージャが起動していないと「指定された SQL Server が見つかりません」という結果を得ます。

【shutdown.sql】
shutdown
go

【shutdown.bat】

osql -U sa -d master -i shutdown.sql -o osql.txt -P
start osql.txt

1> 2> 要求によりサーバーをシャットダウンします。

  [Microsoft][ODBC SQL Server Driver][Named Pipes] 指定されたSQL Serverが見つかりません。
[Microsoft][ODBC SQL Server Driver][Named Pipes] ConnectionOpen
(CreatFile()).

おおよそ、必要な情報は網羅していると思います。

**************
<osql リファレンス>からの抜粋
**************

2-2、サーバーの起動とシャットダウン

構文 SHUTDOWN [WITH NOWAIT]

引数 WITH NOWAIT を省略すると、各データベーす内でチェックポイントを実行して終了します。なお、次のようにコマンド プロンプトから net stop mssqlserver を実行してシャットダウンすることもできます。

D:\> net stop mssqlserver
MSSQLSERVER サービスを停止中です。
MSSQLSERVER サービスは正常に停止されました。

S...続きを読む

Qbatファイルからsql文実行

クライアントOS:WIN2000
Oracle:9i(サーバ(UNIX)上にあります)

現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。
(SQL文は単純にTBLをカウントしているだけです)

・batの中身
sqlplus %UID%/%PASS%@%SID% @test.sql > output

結果は取得出来るのですが、余分な情報も結果に出力されてしまいます。結果のみを出力させるにはどうすればよろしいでしょうか?

・余分な情報
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
に接続されました。

Aベストアンサー

sqlplus に -S オプションを追加してみればどうでしょうか。

参考URL:http://biz.rivus.jp/sqlplus_overview.html

Qtempdb の適切なサイズ

SQL Server 2008を使用したシステムがあるのですが、複数の端末からアクセスする為、処理が遅くなったりして困っています。

そこで、高速化を図る為、色々と調べていたら、tempdbファイルのサイズを増やす、及びtempdbファイルをCPUのコア数分に増やすと良いというのを見付けました。

が、tempdbの適切なサイズを調べる方法が、いまいちよく分かりません。
どなたか、分かり易く助言して頂けると助かります。

OS:Windows 2008 Server
DB:SQL Server 2008 Workgroup
   よければ、SQL Server 2008 Expressの場合も

以上、よろしくお願い致します。

Aベストアンサー

http://engineer-memo.com/blogs/engineer-memo/archive/2009/11/07/tempdb.aspx
にもありますが、tempdbは初期サイズから必要に応じて拡張され、再起動時に初期設定値に再度初期化されます。
起動されている最中には縮小されませんから、処理量のピーク時にデータファイルのサイズを確認して、初期サイズを再設定することが考えられます。

ただし、本当にtempdbの拡張がパフォーマンスのボトルネックになっているかは別問題です。tempdbへのアクセスそのものがボトルネックになっているならtempdbをデータベースファイルと違うストレージに分散配置するなどして競合を減らすなども考えられます。
そもそも、データベースファイルやログファイルの配置やSQLの記述が問題になっている可能性もあります。

バージョンは古くなりますが「インサイドMicrosoft SQL Server 2005 クエリチューニング&最適化編」などの書籍も参考にしてみてはどうでしょうか。

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QSELECT文でのデッドロックに対しての対処方

先日よりデッドロックが発生するようになり、確認の為にトレースログを
抽出するように設定かけたのですが、UPDATE文とSELECT文がぶつかり
デッドロックが発生している事がわかりました。

しかし、UPDATE文にはトランザクションをかけていますが
SELECT文には特にロックかけていない為、どうして起こっているのか
わかっていません。

SELECT文を読んでいる時にUPDATE文によって
レコードに変更があった為、デッドロックが発生したのでしょうか?

SELECT文にはUNLOCKをつけた方がいいのでしょうか?



プログラムはDELPHI
DBはSQLSERVER2000になります。

お忙しい所申し訳ありません。
宜しくお願い致します。

Aベストアンサー

#6です。
気になったの書き込みます。

参照側で考えていましたが、更新側のロック範囲は適正でしょうか?
不必要に広い範囲に排他ロックを掛けていないでしょうか。

例えば更新が select xx from yy where zz>aa for browse のようになっていると広範囲にロックが確保され要注意です。
また、更新がバッチであれば、途中コミットして排他時間を短くするなりの対策が考えられます。
とにかく参照処理も更新処理も出来るだけ範囲を小さくされることをお勧めします。

QSQLServer2008R2 メモリ不足について

下記のスペックで処理を行っていますがメモリ不足になり
処理が止まってしまいます。

対応方法を考えましたが・・知識が少ないので以下の程度しか
思いつきません。

1.メモリの増設
2.SQLServerの設定 AWEを有効にする。(現在は未設定)

ご存知の方がいらっしゃればご教示願います。
よろしくお願いいたします。

OS:Windows2008Server
SQLServer:SQLServer2008R2
メモリ:2GB

Aベストアンサー

もちろん、メモリは積めるだけ積んだほうが、安心です。

-----
ちょっときついですが、ご質問の内容は

「Excel で処理をしていますが、メモリ不足になり処理が止まってしまいます」

と同等なご質問ではないかと思うのです。

どんな処理をしているのか、単一の SQL なりプロシジャーなりを動かすだけで足りなくなるのか、物凄いアクセスが集中したときにメモリが足りなくなるのかなど、もう少し状況をご説明いただければと思うのですが・・・・・・・。クエリが集中してメモリが足りないのと、SQL のオプティマイズの問題でクエリが異常にメモリを消費しているのでは状況が違いますし、後者であれば SQL 文を最適化しない限りメモリを増やしても解決できないこともありますし・・・・・・・・・。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング