請參考來源:利用 DateTime.ParseExact 將字串轉回 DateTime 格式
2013年10月30日 星期三
mssql sys.databases 欄位
SELECT
name , -- 資料庫名稱
recovery_model_desc , -- DB 復原模式
log_reuse_wait_desc -- Log 無法清除原因
FROM sys.databases
select * from sys.databases
2013年10月29日 星期二
MSSQL 縮小 log 檔至 1MB
參考引用來源
--
-- 首先把数据库的恢复模式改为Simple
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE;
GO
-- 缩小log文件至1M,逻辑名称可以通过sp_helpfile拿到
DBCC SHRINKFILE ([log文件逻辑名称], 1);
GO
-- 重置数据库的恢复模式
ALTER DATABASE [数据库名] SET RECOVERY FULL;
GO
--
-- 首先把数据库的恢复模式改为Simple
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE;
GO
-- 缩小log文件至1M,逻辑名称可以通过sp_helpfile拿到
DBCC SHRINKFILE ([log文件逻辑名称], 1);
GO
-- 重置数据库的恢复模式
ALTER DATABASE [数据库名] SET RECOVERY FULL;
GO
2013年10月28日 星期一
Celsys RETAS Studio 日文動畫教學
RETAS STUDIO 使い方講座 | CLIP
RETAS STUDIO 中文教學影片
[2D軟體]【RETAS HD 教學】還在摸索?有人寫出教學啦! - 【動畫創作研究社】 - 創作革命†REVOLUTION
啥?動畫—【2D動畫軟體《Retas》1-10篇】
--
【心得】繪圖筆記‧輕鬆入門繪圖板
看了繪圖工具後,應該會想要一台繪圖板吧! 上面這篇也詳細介紹
採用的型號:Wacom Bamboo CTL-470
RETAS STUDIO 中文教學影片
[2D軟體]【RETAS HD 教學】還在摸索?有人寫出教學啦! - 【動畫創作研究社】 - 創作革命†REVOLUTION
啥?動畫—【2D動畫軟體《Retas》1-10篇】
--
【心得】繪圖筆記‧輕鬆入門繪圖板
看了繪圖工具後,應該會想要一台繪圖板吧! 上面這篇也詳細介紹
採用的型號:Wacom Bamboo CTL-470
本機Windows帳號密碼驗證登入
參考引用來源
---
---
End Class
- Public Class Form1
- Public Declare Auto Function LogonUser Lib "advapi32.dll" (ByVal lpszUsername As String, ByVal lpszDomain As String, ByVal lpszPassword As String, _
- ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, ByRef phToken As IntPtr) As Boolean
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- End Sub
- Private Sub Button_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_OK.Click
- Dim UserID As String = TextBox_UserName.Text
- Dim UserPass As String = TextBox_Password.Text
- Dim bTemp As Boolean
- Dim MachineName As String
- MachineName = System.Environment.MachineName
- Const LOGON32_PROVIDER_DEFAULT As Integer = 0
- Const LOGON32_LOGON_INTERACTIVE As Integer = 2
- Dim tokenHandle As New IntPtr(0)
- tokenHandle = IntPtr.Zero
- bTemp = LogonUser(UserID, MachineName, UserPass, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, tokenHandle)
- If bTemp Then
- MsgBox("登入成功")
- Else
- MsgBox("登入失敗")
- End If
- End Sub
特殊資料類型轉換函式
參考引用來源
--
--
End Function
- '浮點數轉二進位
- Private Function DecimalToBinary(ByVal DecValue As Integer, Optional ByVal Num As Integer = 16) As String
- Dim sValue As String = Convert.ToString(DecValue, 2)
- Return String.Format("{0:x" & (Num - sValue.Length).ToString & "}", 0) & sValue
- End Function
- Public Function BinaryToInteger(ByVal sData As String) As Integer
- Dim I As Int16
- Dim bTemp As Integer
- bTemp = 0
- For I = sData.Length - 1 To 0 Step -1
- bTemp = bTemp + Val(sData.Substring(I, 1)) * 2 ^ (sData.Length - 1 - I)
- Next
- Return bTemp
- End Function
- 'Byte轉二進位
- Public Function ByteToBinary(ByVal bData As Byte) As String
- Return Strings.Right("00000000" & BinaryRecursive(bData), 8)
- End Function
- Public Function BinaryRecursive(ByVal bData As Byte) As String
- If bData > 1 Then
- Return BinaryRecursive(bData >> 1) & IIf((bData And 1) = 1, "1", "0")
- Else
- Return "1"
- End If
- End Function
- '二進位轉Byte
- Public Function BinaryToByte(ByVal sData As String) As Byte
- Dim I As Int16
- Dim bTemp As Byte
- bTemp = 0
- For I = sData.Length - 1 To 0 Step -1
- bTemp = bTemp + Val(sData.Substring(I, 1)) * 2 ^ (sData.Length - 1 - I)
- Next
- Return bTemp
自動從網頁的原始碼取要的資料
參考引用
--
--
End Class
- Option Strict On
- Option Explicit On
- Imports System.Net
- Imports System.IO
- Imports System.Text
- Imports System.Text.RegularExpressions
- Public Class F_Main
- Dim dt As DataTable
- Dim dr As DataRow
- Dim ds As DataSet
- Private Sub initTable()
- dt = New DataTable
- Dim oCol1 As DataColumn = dt.Columns.Add("stkid", GetType(String))
- oCol1.AllowDBNull = True
- Dim oCol2 As DataColumn = dt.Columns.Add("fill", GetType(String))
- oCol2.AllowDBNull = True
- Dim oCol3 As DataColumn = dt.Columns.Add("price", GetType(String))
- oCol3.AllowDBNull = True
- End Sub
- Private Sub StkSelect(ByVal stk_id As String)
- dr = dt.NewRow
- Dim url As String = "http://tw.stock.yahoo.com/q/q?s=" + stk_id
- Dim StockValues As String = SketchWebPage(url)
- Dim index As Integer = 0
- Dim GetNowTimeHtml As String = ""
- Dim GetStockName As String = "href=""/q/bc?s=" + stk_id + """>"
- index = InStr(StockValues, GetStockName) + GetStockName.Length - 1
- dr(0) = StockValues.Substring(index, StockValues.IndexOf("", index) - index)
- Dim GetFillHtml As String = GetNowTimeHtml + ""
- index = InStr(StockValues, GetFillHtml) + GetFillHtml.Length - 1
- dr(1) = StockValues.Substring(index, StockValues.IndexOf("", index) - index)
- Dim GetPriceHtml As String = ""
- Dim up As String = ""
- Dim down As String = ""
- Dim zero As String = ""
- Select Case InStr(StockValues, GetPriceHtml + up)
- Case 0
- Select Case InStr(StockValues, GetPriceHtml + zero)
- Case 0
- Dim dowhtml As String = GetPriceHtml + down
- index = InStr(StockValues, dowhtml) + dowhtml.Length - 1
- dr(2) = StockValues.Substring(index, 5)
- Case Else
- Dim zerohtml As String = GetPriceHtml + zero
- index = InStr(StockValues, zerohtml) + zerohtml.Length - 1
- dr(2) = StockValues.Substring(index, 5)
- End Select
- Case Else
- Dim uphtml As String = GetPriceHtml + up
- index = InStr(StockValues, uphtml) + uphtml.Length - 1
- dr(2) = StockValues.Substring(index, 5)
- End Select
- dt.Rows.Add(dr)
- End Sub
- Private Function SketchWebPage(ByVal URL As String) As String
- Try
- Dim lobjRequest As HttpWebRequest
- Dim lobjResponse As HttpWebResponse
- Dim lobjEncode As Encoding
- Dim lobjStreamReader As StreamReader
- lobjRequest = CType(WebRequest.Create(URL), HttpWebRequest)
- lobjResponse = CType(lobjRequest.GetResponse(), HttpWebResponse)
- lobjEncode = System.Text.Encoding.GetEncoding("big5")
- '建立一個新的stream去做讀取
- lobjStreamReader = New StreamReader(lobjResponse.GetResponseStream, lobjEncode)
- Dim stmPage As String = lobjStreamReader.ReadToEnd()
- lobjResponse.Close()
- lobjStreamReader.Close()
- Return stmPage
- Catch ex As Exception
- Return "FAILED"
- End Try
- End Function
- Private Sub btnReload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReload.Click
- initTable()
- StkSelect("2891")
- StkSelect("1532")
- StkSelect("2524")
- StkSelect("2409")
- StkSelect("2704")
- StkSelect("5531")
- StkSelect("5347")
- Me.DataGridView1.DataSource = dt
- Me.DataGridView1.Columns(0).Width = 70
- Me.DataGridView1.Columns(1).Width = 60
- Me.DataGridView1.Columns(2).Width = 60
- End Sub
簡單的使用類別中的類別下的屬性
參考引用來源
--
--
用法:
--
End Class
- Public Class Factory
- Private sAddress As String
- Private sTEL As String
- Private objEmp As New Employees
- Public Property Address() As String
- Get
- Return sAddress
- End Get
- Set(ByVal value As String)
- sAddress = value
- End Set
- End Property
- Public Property TEL() As String
- Get
- Return sTEL
- End Get
- Set(ByVal value As String)
- sTEL = value
- End Set
- End Property
- Public Property Employees() As Employees
- Get
- Return objEmp
- End Get
- Set(ByVal value As Employees)
- objEmp = value
- End Set
- End Property
End Class
- Public Class Employees
- Private bWork As Boolean
- Private sName As String
- Public Property Work() As Boolean
- Get
- Return bWork
- End Get
- Set(ByVal value As Boolean)
- bWork = value
- End Set
- End Property
- Public Property Name() As String
- Get
- Return sName
- End Get
- Set(ByVal value As String)
- sName = value
- End Set
- End Property
--
用法:
ft.Employees.Work = False
- Dim ft As New Factory
- ft.Address = "地球村台灣區台中路112號"
- '簡短寫法
- With ft.Employees
- .Name = "Tom"
- .Work = False
- End With
- '或用一般寫法
- ft.Employees.Name = "Tom"
2013年10月27日 星期日
vbnet 抓網頁資料
引用來源
--
Imports System.Web
Imports System.Net.Sockets 'HttpWebRequest、HttpWebResponse類別
Imports System.Net
Imports System.IO 'StreamReader類別
在page_load事件裡加入以下
Dim request As HttpWebRequest = WebRequest.Create("http://tw.yahoo.com")
Dim mResponse As HttpWebResponse = request.GetResponse()
Dim sr As New StreamReader(mResponse.GetResponseStream, Encoding.GetEncoding("utf-8"))
' 可設定用什麼編碼來擷取
Dim strContent = sr.ReadToEnd()
sr.Close()
request = Nothing
mResponse = Nothing
Response.Write(strContent)
--
Imports System.Web
Imports System.Net.Sockets 'HttpWebRequest、HttpWebResponse類別
Imports System.Net
Imports System.IO 'StreamReader類別
在page_load事件裡加入以下
Dim request As HttpWebRequest = WebRequest.Create("http://tw.yahoo.com")
Dim mResponse As HttpWebResponse = request.GetResponse()
Dim sr As New StreamReader(mResponse.GetResponseStream, Encoding.GetEncoding("utf-8"))
' 可設定用什麼編碼來擷取
Dim strContent = sr.ReadToEnd()
sr.Close()
request = Nothing
mResponse = Nothing
Response.Write(strContent)
2013年10月22日 星期二
PL/SQL 常用轉換函數 (轉)
ABS(n) 取決對值 ABC(-5) = 5;
CEIL(n) 無條件進位 CEIL(5.9) = 6;
FLOOR(n) 無條件捨去小數 FLOOR(5.9) = 5;
MOD(m,n) 餘數 MOD(5,2) = 1;
POWER(m,n) n次方 POWER(2,3) = 23;
ROUND(m,n) 四捨五入 ROUND(2.54,1) = 2.5;
SIGN(n) n是否小於零 SIGN(-4) = -1;
SQRT(n) 平方根
TO_CHAR(n or date[,format]) TO_CHAR(sysdate,’YYYYMMDD’)
TO_NUMBER(char)
TO_DATE(char,format)
SELECT TO_DATE (’20050101′, ‘yyyy-mm-dd’) - 10
FROM DUAL
LPAD(char,m,str) 向左補字元
RPAD(char,m,str) 向右補字元
LTRIM(char, str) 向左去空白
RTRIM(char, str) 向右去空白
LOWER(char) 轉小寫
UPPER(char) 轉大寫
REPLACE(char, str1, str2) 替換字元
SUBSTR(char, m, n) 切字元
INSTR(m,n) 傳回n字串在m字串中的位置(切符號分隔字串)
ex:INSTR(’ABCD’,'CD’)=3
LENGTH(char) 字元長度
GREATEST(n1,n2) 取大值
LEAST(n1,n2) 取小值
時間日期:
SYSDATE [from DUAL]
LAST_DAY(date) date的最後一天 return date
ADD_MONTHS(date, n) date的n個月後 return date
Only use SQL
DECODE(char, str1, str2, str3, str4, str5)
SELECT columns
FROM tables
WHERE EXISTS ( subquery );
計算字元出現次數
SELECT length(translate(’aabbaddddccaaa’, ‘a’||’aabbaddddccaaa’,'a’)) FROM dual
2013年10月16日 星期三
循環切換 Control focus
這就類似智慧型手機上的鍵盤輸入運用
想不到要搞定 focus 還真是花費好多時間
最終只好採用變數才能處理
--
--
當按[循環 focus] 即可在上面標示 1,2,3,1,2,3 如此切換 Control focus
--
code:
Public Class Form1
Private focus_index As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Select Case focus_index
Case 0
Txt2.Focus()
Case 1
Button2.Focus()
Case 2
Txt1.Focus()
End Select
End Sub
Private Sub Txt1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt1.GotFocus
focus_index = 0
End Sub
Private Sub Txt2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt2.GotFocus
focus_index = 1
End Sub
Private Sub Button2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.GotFocus
focus_index = 2
End Sub
End Class
想不到要搞定 focus 還真是花費好多時間
最終只好採用變數才能處理
--
--
當按[循環 focus] 即可在上面標示 1,2,3,1,2,3 如此切換 Control focus
--
code:
Public Class Form1
Private focus_index As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Select Case focus_index
Case 0
Txt2.Focus()
Case 1
Button2.Focus()
Case 2
Txt1.Focus()
End Select
End Sub
Private Sub Txt1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt1.GotFocus
focus_index = 0
End Sub
Private Sub Txt2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt2.GotFocus
focus_index = 1
End Sub
Private Sub Button2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.GotFocus
focus_index = 2
End Sub
End Class
查詢MS SQL Server連線狀況
參考引用來源
--
use master--use master系統資料庫
select c.session_id, c.connect_time,s.login_time, c.client_net_address,
s.login_name,s.status
from sys.dm_exec_connections c left join sys.dm_exec_sessions s
on c.session_id = s.session_id
--
use master--use master系統資料庫
select c.session_id, c.connect_time,s.login_time, c.client_net_address,
s.login_name,s.status
from sys.dm_exec_connections c left join sys.dm_exec_sessions s
on c.session_id = s.session_id
MS SQL 判斷資料表是否存在
參考引用來源
--
--方法一-透過INFORMATION_SCHEMA.TABLES
select *
from INFORMATION_SCHEMA.TABLES
where TABLE_TYPE='BASE TABLE'
and TABLE_NAME='RubSpec'
--方法二-透過sys.tables
select *
from sys.tables
where name='RubSpec'
--方法三-使用OBJECT_ID
select OBJECT_ID('RubSpec')
----若為暫存表格,因存放於tempdb,語法改寫為
select OBJECT_ID('tempdb..RubSpec')
--如果表格存在要一併刪除,可使用下述語法
IF (select OBJECT_ID('RubSpec')) IS NOT NULL Drop Table RubSpec
--
--方法一-透過INFORMATION_SCHEMA.TABLES
select *
from INFORMATION_SCHEMA.TABLES
where TABLE_TYPE='BASE TABLE'
and TABLE_NAME='RubSpec'
--方法二-透過sys.tables
select *
from sys.tables
where name='RubSpec'
--方法三-使用OBJECT_ID
select OBJECT_ID('RubSpec')
----若為暫存表格,因存放於tempdb,語法改寫為
select OBJECT_ID('tempdb..RubSpec')
--如果表格存在要一併刪除,可使用下述語法
IF (select OBJECT_ID('RubSpec')) IS NOT NULL Drop Table RubSpec
mssql create primary key (建立PK)
參考引用來源:w3schools:SQL PRIMARY KEY Constraint
--
SQL PRIMARY KEY Constraint
The PRIMARY KEY constraint uniquely identifies each record in a database table.
Primary keys must contain unique values.
A primary key column cannot contain NULL values.
Each table should have a primary key, and each table can have only ONE primary key.
SQL PRIMARY KEY Constraint on CREATE TABLE
The following SQL creates a PRIMARY KEY on the "P_Id" column when the "Persons" table is created:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Note: In the example above there is only ONE PRIMARY KEY (pk_PersonID). However, the value of the pk_PersonID is made up of two columns (P_Id and LastName).
SQL PRIMARY KEY Constraint on ALTER TABLE
To create a PRIMARY KEY constraint on the "P_Id" column when the table is already created, use the following SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Note: If you use the ALTER TABLE statement to add a primary key, the primary key column(s) must already have been declared to not contain NULL values (when the table was first created).
To DROP a PRIMARY KEY Constraint
To drop a PRIMARY KEY constraint, use the following SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
--
SQL PRIMARY KEY Constraint
The PRIMARY KEY constraint uniquely identifies each record in a database table.
Primary keys must contain unique values.
A primary key column cannot contain NULL values.
Each table should have a primary key, and each table can have only ONE primary key.
SQL PRIMARY KEY Constraint on CREATE TABLE
The following SQL creates a PRIMARY KEY on the "P_Id" column when the "Persons" table is created:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Note: In the example above there is only ONE PRIMARY KEY (pk_PersonID). However, the value of the pk_PersonID is made up of two columns (P_Id and LastName).
SQL PRIMARY KEY Constraint on ALTER TABLE
To create a PRIMARY KEY constraint on the "P_Id" column when the table is already created, use the following SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Note: If you use the ALTER TABLE statement to add a primary key, the primary key column(s) must already have been declared to not contain NULL values (when the table was first created).
To DROP a PRIMARY KEY Constraint
To drop a PRIMARY KEY constraint, use the following SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
2013年10月11日 星期五
ms sql windows驗證登入,卻無法登入的問題
--
這問題,查好久;才發現..原來是 OS 的登入帳號被改過了
導致使用 windows 驗證登入,老是登不進去
--
解決方法:
採用sa 登入後,建立目前 OS 登入的帳號 -- 加入後;即可在mssql 使用 windows 驗證登入
mssql 2000 master 壞了,無法啟動服務問題
當遇到 mssql 2000 master 系統資料庫壞掉
服務是無法啟動
---
解決方法:
拿光碟片內,將 master.mdf 和 mastlog.ldf 這2檔
複製 到C:\Program Files\Microsoft SQL Server\MSSQL\Data\ 即可
--
服務是無法啟動
---
解決方法:
拿光碟片內,將 master.mdf 和 mastlog.ldf 這2檔
複製 到C:\Program Files\Microsoft SQL Server\MSSQL\Data\ 即可
--
2013年10月8日 星期二
sqlcmd錯誤的解決方法
sqlcmd錯誤的解決方法
一、問題
使用sqlcmd客戶端工具連接數據時,出現以下錯誤:
C:\>sqlcmd
HResult 0x2,級別 16,狀態 1
命名管道提供程序: 無法打開與 SQL Server 的連接 [2].
Sqlcmd: 錯誤: Microsoft SQL Native Client : 建立到服務器的連接
允許遠程連接這個事實可能會導致失敗。。
Sqlcmd: 錯誤: Microsoft SQL Native Client : 登錄超時已過期。
二、原因
1、網絡協議及相關端口未打開
2、未指明使用何種身份認證方式登錄
三、解決過程
1、開啟網絡協議
SQL Server Configuration Manager -> 網絡配置 -> 協議
TCP/IP屬性
保持活動狀態 --> 30000
全部偵聽 --> 否
無延遲 --> 否
已啟用 --> 是
IP地址
IP地址 --> 數據庫服務器IP
TCP動態端口 --> 不填
TCP端口 --> 1433
活動 --> 是
已啟用 --> 是
2、連接數據庫
(1)使用Windows身份認證:C:\>sqlcmd -E -S\實例名 -d master
(2)使用SQL SERVER身份認證:C:\>sqlcmd -S\實例名 -d master -U 用戶名 -P 密碼
四、使用SQLCMD
1、查看幫助:C:\>sqlcmd -?
2、執行SQL語句
C:\>sqlcmd -E -S\WWDD -d master
1> use www
2> go
已將數據庫上下文更改為 'WWW'。
1> select * from guangd;
2> go
2013年10月7日 星期一
2013年10月2日 星期三
貝蚤清除方法
引用來源
--
相信很多人都知道貝蚤是幾乎所有魚都不吃...而且這種生物大多在蓮花盆裡面出現...
想撈也撈不完..魚也不吃....但是某種鼠魚似乎會幫你解決這個問題...就是Y字鼠和三間鼠其中一種
因為我本來想說我的蓮花盆缺鼠魚清底..所以我就跑去買了2隻Y字鼠和1隻三間鼠來清底
但沒想到過了2天之後 水底游來遊去的貝蚤幾乎消失不見(裡面至少1-2百隻貝蚤)
所以我猜想大概是Y字鼠(六間鼠???)幫我解決了這煩惱~而3間鼠呢 放進蓮花盆裡就不見蹤影
整個盆子翻過了就是找不到...連屍體也找不到...我想可能被外星人綁架了 [face9]
有興趣的大大可以買個一之來試試看
不過要小心Y字鼠偶爾會攻擊小魚..但不至於被吃掉或是受傷
--
看到這篇,也跑去買了2隻來試試
魚圖引用來源
--
相信很多人都知道貝蚤是幾乎所有魚都不吃...而且這種生物大多在蓮花盆裡面出現...
想撈也撈不完..魚也不吃....但是某種鼠魚似乎會幫你解決這個問題...就是Y字鼠和三間鼠其中一種
因為我本來想說我的蓮花盆缺鼠魚清底..所以我就跑去買了2隻Y字鼠和1隻三間鼠來清底
但沒想到過了2天之後 水底游來遊去的貝蚤幾乎消失不見(裡面至少1-2百隻貝蚤)
所以我猜想大概是Y字鼠(六間鼠???)幫我解決了這煩惱~而3間鼠呢 放進蓮花盆裡就不見蹤影
整個盆子翻過了就是找不到...連屍體也找不到...我想可能被外星人綁架了 [face9]
有興趣的大大可以買個一之來試試看
不過要小心Y字鼠偶爾會攻擊小魚..但不至於被吃掉或是受傷
--
看到這篇,也跑去買了2隻來試試
魚圖引用來源
MS SQL Log 修復
如果遺失日誌檔
小知識: SQL恢復技術
SQL Server 資料庫檔恢復技術
SQL Server 資料庫備份有兩種方式,一種是使用BACKUP DATABASE 將資料庫檔備份出去,另外一種就是直接拷貝資料庫檔 mdf 和日誌檔ldf的方式。下面將主要討論一下後者的備份與恢復。
本文假定您能熟練使用SQL Server Enterprise Manager (SQL Server企業管理器) 和 SQL Server Quwey Analyser(SQL Server查詢分析器)。
1、正常的備份、恢復方式
正常方式下,我們要備份一個資料庫,首先要先將該資料庫從運行的資料伺服器中斷開,或者停掉整個資料庫伺服器,然後複製檔。
卸下資料庫的命令:Sp_detach_db 資料庫名
連接資料庫的命令:Sp_attach_db
或者
sp_attach_single_file_db
sp_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正確恢復 SQL Sever7.0 和 SQL Server 2000 的資料庫檔,要點是備份的時候一定要將 mdf 和 ldf 兩個檔都備份下來,mdf 檔是資料庫資料檔案,ldf 是資料庫日誌檔。
例子:
假設資料庫為test,其資料檔案為test_data.mdf,日誌檔為test_log.ldf。下面我們討論一下如何備份、恢復該資料庫。
卸下資料庫:
sp_detach_db ‘test’
連接資料庫:
sp_attach_db ‘test’, ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf’, ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf’
sp_attach_single_file_db ‘test’,'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf’
2、只有mdf檔的恢復技術
由於種種原因,我們如果當時僅僅備份了 mdf 檔,那麼恢復起來就是一件很麻煩的事情了。 如果您的 mdf 檔是當前資料庫產生的,那麼很僥倖,也許你使用 sp_attach_db 或者 sp_attach_single_file_db 可以恢復資料庫,但是會出現類似下面的提示資訊設備啟動錯誤。物理檔案名 ‘C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF’ 可能有誤。
已創建名為 ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF’ 的新日誌檔。
但是,如果您的資料庫檔是從其他電腦上複製過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤資訊
伺服器: 消息 1813,級別 16,狀態 2,行 1
未能打開新資料庫 ‘test’。CREATE DATABASE 將終止。
設備啟動錯誤。物理檔案名 ‘d:\test_log.LDF’ 可能有誤。
怎麼辦呢?別著急,下面我們舉例說明恢復辦法。
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裏面建立。
B.停掉資料庫伺服器。
C.將剛才生成的資料庫的日誌檔test_log.ldf刪除,用要恢復的資料庫mdf檔覆蓋剛才生成的資料庫資料檔案test_data.mdf。
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為“置疑”。這時候不能對此資料庫進行任何操作。
E.設置資料庫允許直接作業系統表。此操作可以在SQL Server Enterprise
Manager裏面選擇資料庫伺服器,按右鍵,選擇“屬性”,在“伺服器設置”頁面中將“允許對系統目錄直接修改”一項選中。也可以使用如下語句來實現。
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go
F.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID(‘test’)
此時可以在SQL Server Enterprise
Manager裏面看到該資料庫處於“唯讀\置疑\脫機\緊急模式”可以看到資料庫裏面的表,但是僅僅有系統表
G.下面執行真正的恢復操作,重建資料庫日誌檔
dbcc rebuild_log(‘test’,'C:\Program Files\Microsoft SQL
Server\MSSQL\Data\test_log.ldf’)
執行過程中,如果遇到下列提示資訊:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯繫。
說明您的其他程式正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise
Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 ‘test’ 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB
以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌檔。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯繫。
此時打開在SQL Server Enterprise Manager裏面會看到資料庫的狀態為“只供DBO使用”。此時可以訪問資料庫裏面的用戶表了。
H.驗證資料庫一致性(可省略)
dbcc checkdb(‘test’)
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 ‘test’ 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯繫。
I.設置資料庫為正常狀態
sp_dboption ‘test’,'dbo use only’,'false’
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
J.最後一步,我們要將步驟E中設置的“允許對系統目錄直接修改”一項恢復。因為平時直接作業系統表是一件比較危險的事情。當然,我們可以在SQL Server
Enterprise Manager裏面恢復,也可以使用如下語句完成
sp_configure ‘allow updates’,0
go
reconfigure with override
go
訂閱:
文章 (Atom)