DECLARE @SEARCH_TEXT NVARCHAR(MAX) = 'WEB_ORDER_REGISTER_ADDRESS';
 
SELECT B.NAME       AS NAME     -- 이름
     , B.TYPE_DESC  AS TYPE     -- 타입 구분
     , A.DEFINITION AS CONTENTS -- 내용
  FROM SYS.SQL_MODULES A WITH (NOLOCK)
  LEFT JOIN SYS.OBJECTS B WITH (NOLOCK) ON A.OBJECT_ID = B.OBJECT_ID
 WHERE DEFINITION LIKE '%' + @SEARCH_TEXT + '%'      
 ORDER BY TYPE, NAME  

'Database > Query' 카테고리의 다른 글

테이블 명세서  (0) 2020.08.29
sp_who3  (0) 2020.08.29
Full Scan, Index Scan Query  (0) 2020.08.28
모든 인덱스 다시 리빌드, 통계 업데이트  (0) 2020.08.28
INDEX 사용량  (0) 2020.08.28

-- DB생성
CREATE DATABASE DBNull 
ON PRIMARY (NAME = N'DBNull' ,FILENAME = 'C:\MSSQL_DATA\DBNull.MDF',SIZE = 500MB ,MAXSIZE = UNLIMITED ,FILEGROWTH = 100MB) 
LOG ON (NAME = N'DBNull_Log' ,FILENAME = 'C:\MSSQL_LOG\DBNull.LDF' ,SIZE = 100MB ,MAXSIZE = 1024GB ,FILEGROWTH = 100MB) 




-- 언어확인
SELECT DATABASEPROPERTYEX('DBNull','Collation')



/* IN-MEMORY DB설정
이 명령어를 실행하고, DBNull의 데이터베이스 파일그룹 정보를 확인하면, 메모리 엑세스에
최적화된 데이터라고 나오는 것을 확인 할 수 있습니다.
*/
ALTER DATABASE DBNull ADD FILEGROUP [IN_MemoryGroup] CONTAINS MEMORY_OPTIMIZED_DATA


/* IN-MEMORY 폴더 추가
해당 구문을 실행하면, 폴더와 함께 파일이 생깁니다. 
* SQL SERVER가 재시작하여도 메모리 테이블의 데이터를 계속 파일에 저장합니다. 
FILESTREAM에 저장된 데이터와 트랜잭션 로그를 사용해서 재부팅 시 RECOVERY 과정을 진행합니다.
이 과정은 메모리 테이블에 대한 RECOVERY 과정이며, 저장된 데이터를 메모리에 다시 로드하는 과정입니다.
*/
ALTER DATABASE DBNull 
ADD FILE(NAME = IN_MEMORY,FILENAME='C:\IN_MEMORY') TO FILEGROUP [IN_MemoryGroup]


/*=====================================================================================================================================*/


USE DBNull
GO
-- [SCHEMA_ONLY] 테이블 테스트
CREATE TABLE [SCHEMA_ONLY](
 col1 INT			NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 10000000)
,col2 NVARCHAR(100)	COLLATE Korean_Wansung_BIN2 NOT NULL INDEX[HX_TBL_1_1]
,col3 NVARCHAR(50)	NULL
,col4 INT			NULL)
WITH (MEMORY_OPTIMIZED = ON			-- 메모리 테이블
	 ,DURABILITY = SCHEMA_ONLY) -- 테이블의 유형 (SCHEMA_AND_DATA: 비휘발 / SCHEMA_ONLY:휘발)
GO

INSERT INTO [SCHEMA_ONLY] VALUES (1,N'TEST','C개발자',100)
SELECT * FROM [SCHEMA_ONLY]




-- 테이블 생성
-- 테이블 속성을 열면 정보를 확인 할 수 있습니다.
-- C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL2014\MSSQL\DATA\xtp
CREATE TABLE [SCHEMA_AND_DATA](
 col1 INT			NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 10000000)
,col2 NVARCHAR(100)	COLLATE Korean_Wansung_BIN2 NOT NULL INDEX[HX_TBL_1_1]
,col3 NVARCHAR(50)	NULL
,col4 INT			NULL)
WITH (MEMORY_OPTIMIZED = ON			-- 메모리 테이블
	 ,DURABILITY = SCHEMA_AND_DATA) -- 테이블의 유형 (SCHEMA_AND_DATA: 비휘발 / SCHEMA_ONLY:휘발)
GO
/*
메시지 12329, 수준 16, 상태 103, 줄 51
1252 이외의 코드 페이지를 가진 데이터 정렬을 사용하는 데이터 형식 char(n) 및 varchar(n)는 메모리 액세스에 최적화된 테이블에서 지원되지 않습니다.
*/
INSERT INTO [SCHEMA_AND_DATA] VALUES (1,N'TEST1','DBA',100)
SELECT * FROM [SCHEMA_AND_DATA]

/*
Foreign Key, Check 제약조건
LOB, CLR, XML 데이터 형식
파티션, 압축, TDE
복제, 미러링
DML 트리거
인덱스 컬럼에는 null 허용(null 허용 안함)
* ALTER TABLE: 테이블 삭제 후 다시 생성
* 인덱스 추가 삭제: 테이블 삭제 후 다시 생성
*/



/*=====================================================================================================================================*/



-- Collation 관련
-- https://technet.microsoft.com/ko-kr/library/ms186356(v=sql.105).aspx
SELECT *
--COLLATIONPROPERTY('name','Codepage') AS CODEPAGE,NAME
FROM SYS.fn_helpcollations ()
WHERE COLLATIONPROPERTY ('name','Codepage') = 1252
GO

-- 문자열 컬럼에 인덱스를 지정할 경우 언어 선정
SELECT COLLATIONPROPERTY(name, 'codepage') AS CODEPAGE, NAME
from sys.fn_helpcollations()
where name like '%bin2%'
    and name like '%korean%'


-- Collation에 관련된 알아야 할 점 ORDER BY
CREATE TABLE dbo.ORDER_CI_AS(
    ID int primary key nonclustered identity
    , CI_AS nvarchar(100) collate korean_wansung_ci_as
)
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO

-- Collation에 관련된 알아야 할 점 ORDER BY
CREATE TABLE dbo.ORDER_BIN2(
    ID int primary key nonclustered identity
    , BIN2 nvarchar(100) collate korean_wansung_bin2
)
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO

INSERT INTO ORDER_CI_AS VALUES( N'가')
INSERT INTO ORDER_BIN2 VALUES( N'가')
INSERT INTO ORDER_CI_AS VALUES(N'1')
INSERT INTO ORDER_BIN2 VALUES(N'1')
INSERT INTO ORDER_CI_AS VALUES(NULL)
INSERT INTO ORDER_BIN2 VALUES(NULL)
INSERT INTO ORDER_CI_AS VALUES(N'A')
INSERT INTO ORDER_BIN2 VALUES(N'A')
GO

SELECT 'CI_AS' as 'collate',* FROM ORDER_CI_AS ORDER BY CI_AS
SELECT 'BIN2' as 'collate',* FROM ORDER_BIN2 ORDER BY BIN2
GO
 
-- 조인 
SELECT * FROM ORDER_CI_AS AS A
INNER JOIN ORDER_BIN2 AS B
ON A.CI_AS = B.BIN2




/*=====================================================================================================================================*/




-- 네이티브 프로시저
-- C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL2014\MSSQL\DATA\xtp\5
-- EXEC INSERT_PROC_1 1,'형권','DBA',100
-- SELECT * FROM [TBL_1]

ALTER PROC DBO.INSERT_PROC_1
@col1 INT
,@col2 NVARCHAR(200)
,@col3 NCHAR(100)
,@col4 INT
	WITH 
		NATIVE_COMPILATION,
		SCHEMABINDING,
		EXECUTE AS OWNER
	AS
	BEGIN ATOMIC
		WITH 
		(TRANSACTION	ISOLATION LEVEL = SNAPSHOT,
		 LANGUAGE = N'KOREAN')

--SELECT * FROM [TBL_1]
--SELECT col1, col2, col3, col4 FROM TBL_1 WHERE col1 = col1 OR col2 = @col2
--INSERT INTO [dbo].[TBL_1] VALUES (@col1,@col2,@col3,@col4)

	END
GO
/* 네이티브 프로시저 제약사항
서브쿼리 불가능
case when문 불가능
outer join 불가능 (left, full...)
apply 불가능
where에 in,or,like 조건 불가능
select * 불가능
union 불가능
temp table , @table 불가능
CTE 불가능
Cursors 불가능
select into 불가능
*/


/*=====================================================================================================================================*/


USE AdventureWorks2014
GO
-- IN-MEMORY 테이블의 올바른 버킷 수 결정 
-- 전체 행수
SELECT COUNT(*) AS [전체 행 수] 
FROM Sales.SalesOrderDetail

-- 복합인덱스 일 경우 행사
SELECT COUNT(*) AS [복합 인덱스로 걸 경우 고유값]
FROM 
   (SELECT DISTINCT SpecialOfferID, ProductID 
    FROM Sales.SalesOrderDetail) t




-- ALTER DATABASE [AdventureWorks2014] ADD FILEGROUP [IN_MemoryGroup_1] CONTAINS MEMORY_OPTIMIZED_DATA
--SP_DETACH_DB [AdventureWorks2014]
--SP_ATTACH_DB [AdventureWorks2014],'C:\MSSQL_DATA\AdventureWorks2014_Data.mdf','C:\MSSQL_LOG\AdventureWorks2014_Log.ldf'
-- https://msdn.microsoft.com/ko-kr/library/dn511655(v=sql.120).aspx
-- 테이블 생성
CREATE TABLE [Sales].[SalesOrderHeader_test]
(
   [SalesOrderID] [uniqueidentifier] NOT NULL DEFAULT (newid()),
   [OrderSequence] int NOT NULL,
   [OrderDate] [datetime2](7) NOT NULL,
   [Status] [tinyint] NOT NULL,

PRIMARY KEY NONCLUSTERED HASH ([SalesOrderID]) WITH ( BUCKET_COUNT = 262144 ),
INDEX IX_OrderSequence HASH (OrderSequence) WITH ( BUCKET_COUNT = 20000),
INDEX IX_Status HASH ([Status]) WITH ( BUCKET_COUNT = 8),
INDEX IX_OrderDate NONCLUSTERED ([OrderDate] ASC),
)WITH ( MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA )
GO

-- 값 삽입
SET NOCOUNT ON
DECLARE @i int = 0
BEGIN TRAN
WHILE @i < 262144
BEGIN
   INSERT Sales.SalesOrderHeader_test (OrderSequence, OrderDate, [Status]) VALUES (@i, sysdatetime(), @i % 8)
   SET @i += 1
END
COMMIT
SET NOCOUNT OFF
GO



-- 올바른 버킷수를 확인하기 위한 스크립트
SELECT 
   object_name(hs.object_id) AS 'object name', 
   i.name as 'index name', 
   hs.total_bucket_count,
   hs.empty_bucket_count,
   floor((cast(empty_bucket_count as float)/total_bucket_count) * 100) AS 'empty_bucket_percent',
   hs.avg_chain_length, 
   hs.max_chain_length
FROM sys.dm_db_xtp_hash_index_stats AS hs -- 버킷 수를 볼수 있음
   JOIN sys.indexes AS i 
   ON hs.object_id=i.object_id AND hs.index_id=i.index_id
WHERE I.name IN('IX_Status','IX_OrderSequence','PK__SalesOrd__B14003C33D8879E4')



/*=====================================================================================================================================*/


-- 백업 테스트
BACKUP DATABASE [DBNull] TO DISK = 'C:\MSSQL_BACKUP\DBNull.BAK'
-- 복원 테스트
RESTORE FILELISTONLY FROM DISK  = 'C:\MSSQL_BACKUP\DBNull.BAK'

-- 복원
RESTORE DATABASE [DBNull_2] from DISK ='C:\MSSQL_BACKUP\DBNull.BAK'
WITH MOVE 'DBNull' TO 'C:\MSSQL_DATA\DBNull_1.MDF',
MOVE 'DBNull_Log' TO 'C:\MSSQL_LOG\DBNull_1.LDF',
MOVE 'IN_MEMORY' TO 'C:\IN_MEMORY_2'

-- 데이터 확인 및 프로시저 확인
-- C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL2014\MSSQL\DATA\xtp
USE DBNull_2 
GO



SELECT * FROM [dbo].[TBL_2]
SELECT * FROM [dbo].[TBL_1]

EXEC [dbo].[INSERT_PROC_1] 2,'주형권','개발자',200



/*=====================================================================================================================================*/
-- 메모리 관리
CREATE RESOURCE POOL [DBNull_MEMORY] WITH (MAX_MEMORY_PERCENT = 70);
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

EXEC sp_xtp_bind_db_resource_pool 'DBNull', 'DBNull_MEMORY'
GO

ALTER DATABASE DBNull SET OFFLINE
GO
ALTER DATABASE DBNull SET ONLINE
GO

-- 메모리 할당량 확인
USE [DBNull]
go
SELECT OBJECT_NAME(object_id), *
FROM sys.dm_db_xtp_table_memory_stats;

-- SQL SERVER 2014 IN-MEMORY 성능수집 관련 
-- https://msdn.microsoft.com/ko-kr/KO/library/dn511015.aspx
with XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/showplan' as sql)

SELECT * FROM

 (

 SELECT

  db_name(qt.dbid) AS 'DB Name'

  ,qt.dbid

  ,OBJECT_NAME(qp.objectid,qp.dbid) as sp_name

  ,qt.text AS 'sp_text'

  , substring(qt.text, (qs.statement_start_offset/2)+1

   , ((case qs.statement_end_offset

      when -1 then datalength(qt.text)

      else qs.statement_end_offset

      end - qs.statement_start_offset)/2) + 1) as statement_text

  , qs.creation_time

  , qs.execution_count AS 'Execution Count'

  , ISNULL(qs.execution_count/DATEDIFF(Second, qs.creation_time, GetDate()), 0) AS 'Calls/Second'

  , DATEDIFF(Minute, qs.creation_time, GetDate()) AS 'Age in Cache'

  , ISNULL(qs.total_elapsed_time/qs.execution_count, 0) AS 'AvgElapsedTime(㎲)'

  , qs.total_elapsed_time/1000.0/1000.0 AS 'TotalElapsedTime(sec)'

  , max_elapsed_time /1000.0 AS 'maxelapsedTime(ms)'

  , qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime(㎲)'

  , qs.total_worker_time AS 'TotalWorkerTime(㎲)'

  , max_worker_time as 'max_worker_time(㎲)'

  , ISNULL(qs.total_logical_reads/qs.execution_count, 0) AS 'AvgLogicalreads'

  , total_logical_reads

  , qs.max_logical_reads

  , ISNULL(qs.total_physical_reads/qs.execution_count, 0) AS 'AvgphysicalReads'

  , total_physical_reads

  , qs.max_physical_reads

  , ISNULL(qs.total_logical_writes/qs.execution_count, 0) AS 'AvglogicalWrites'

  , qs.total_logical_writes

  , qs.max_logical_writes

  ,text

  ,cast(query_plan as xml) as query_plan

 FROM sys.dm_exec_query_stats as qs

 CROSS APPLY sys.dm_exec_sql_text(plan_handle) as qt

 CROSS APPLY sys.dm_exec_text_query_plan(qs.plan_handle,qs.statement_start_offset,qs.statement_end_offset) qp

 WHERE  db_name(qt.dbid) <> 'nxdba'

)Y

CROSS APPLY

(

      SELECT

       c.value('(./@PhysicalOp)[1]','varchar(100)') as PhysicalOp

       FROM Y.query_plan.nodes('//sql:RelOp')B(C)

)X

where PhysicalOp  IN ('Table Scan','Index Scan')and

Y.dbid not in (1,2,3,4,32767)

'Database > Query' 카테고리의 다른 글

sp_who3  (0) 2020.08.29
특정 문자열 포함하는 프로시저  (0) 2020.08.28
모든 인덱스 다시 리빌드, 통계 업데이트  (0) 2020.08.28
INDEX 사용량  (0) 2020.08.28
INDEX 정보  (0) 2020.08.28

영문 windows2008r2 - mssql 2008 에서 다음과 같은 에러가 발생

 

[오류]

 

com.microsoft.sqlserver.jdbc.SQLServerException: 호스트 10.250.34.163, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "No buffer space available (maximum connections reached?): connect. 연결 속성을 확인하고 SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하십시오. 또한 포트에서 TCP 연결을 차단하고 있는 방화벽이 없는지 확인하십시오.".

 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)

 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)

 at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)

 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)

 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)

 at java.sql.DriverManager.getConnection(Unknown Source)

 at java.sql.DriverManager.getConnection(Unknown Source)

 at com.cci.gss.server.Context$Root.<init>(Context.java:202)

 at com.cci.gss.server.request.ConnectGSS.run(ConnectGSS.java:76)

 at com.cci.gss.server.GSSRequest.execute(GSSRequest.java:29)

 at com.cci.gss.server.ThreadPool$GSSThread.run(ThreadPool.java:33)

 

 

 

 

 

[해결]

 

Resolution for “No buffer space available (maximum connections reached?): JVM_Bind” issue

 

I hit this issue recently which occurred on only one windows 7 host. The error was caused by this hard to guess reason (http://support.microsoft.com/kb/196271). The default number of ephemeral TCP ports is 5000. Sometimes this number may become less if the server has too many active client connections due to which the ephemeral TCP ports are all used up and in this case no more can be allocated to a new client connection request resulting in the below issue (for a Java application):

Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind

    at java.net.PlainSocketImpl.socketBind(Native Method)

    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)

    at java.net.Socket.bind(Socket.java:577)

    at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.bind(BaseSSLSocketImpl.java:95)

    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.bind(SSLSocketImpl.java:45)

    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:399)

    at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:123)

    at org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory.createSocket(EasySSLProtocolSocketFactory.java:183)

    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)

    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)

    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)

    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)

    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)

 




The resolution is to open the registry editor and locate the registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters and add a new entry as shown below:

 

Value Name: MaxUserPort

Value Type: DWORD

Value data65534

That’s it! Thanks to Daniel Baktiar for his post.

/* =====================================================================================================

모든 인덱스 다시 리빌드

======================================================================================================*/

DECLARE @i int, @sql varchar(1000)
DECLARE @tablename varchar(1000),@ownerName  varchar(1000)

SET @i = 1

DECLARE DB_Cursor CURSOR FOR
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_SCHEMA, TABLE_NAME

OPEN DB_Cursor

FETCH NEXT FROM DB_Cursor
INTO @ownerName, @tablename
WHILE @@FETCH_STATUS = 0
BEGIN

SET @sql = 'ALTER INDEX ALL ON ' + @ownerName + '.' + @tablename + ' REBUILD WITH (PAD_INDEX = ON, FILLFACTOR = 90) '

EXEC (@sql)

PRINT CONVERT(VARCHAR, @i) + '__' + @ownerName + '.' + @tablename + '............ OK'

SET @i = @i + 1

 FETCH NEXT FROM DB_Cursor

INTO @ownerName, @tablename

 END

CLOSE DB_Cursor

DEALLOCATE DB_Cursor


/* =====================================================================================================

데이터베이스의 모든 통계 업데이트

======================================================================================================*/

SP_UPDATESTATS

'Database > Query' 카테고리의 다른 글

특정 문자열 포함하는 프로시저  (0) 2020.08.28
Full Scan, Index Scan Query  (0) 2020.08.28
INDEX 사용량  (0) 2020.08.28
INDEX 정보  (0) 2020.08.28
동적 쿼리2  (0) 2020.08.27
use [데이터베이스명]

select name, lastdate
from (
    SELECT b.name,
      max(a.last_execution_time) as lastdate
   FROM sys.dm_exec_procedure_stats a
      INNER JOIN sys.objects b
      ON a.object_id = b.object_id
   WHERE  Db_name(a.database_id) = '데이터베이스명'
   group by b.name
)z
order by lastdate desc

'Database > SQL Server' 카테고리의 다른 글

In-Memory Demo  (0) 2020.08.28
포트 에 대한 TCP/IP 연결에 실패했습니다  (0) 2020.08.28
DB 주의대상  (0) 2020.08.28
In-Memory OLTP  (0) 2020.08.28
Backup Script  (0) 2020.08.28
-- DB 주의대상
EXEC sp_resetstatus ‘DB이름’;
ALTER DATABASE DB이름 SET EMERGENCY
DBCC CHECKDB (‘DB이름’)
ALTER DATABASE DB이름 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CHECKDB (‘DB이름’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE DB이름 SET MULTI_USER
ALTER DATABASE testdb ADD FILE (name='InMemory_Test', filename='E:\DATA\InMemory_Test') TO FILEGROUP InMemoryFileGroup



명시 적-Transact-SQL에는 최종 COMMIT TRANSACTION과 함께 BEGIN TRANSACTION 코드가 포함되어 있습니다. 

두 개 이상의 명령문을 동일한 트랜잭션에 상관시킬 수 있습니다. 

명시 적 모드에서는 데이터베이스 옵션 MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT을 사용하거나 FROM 절의 메모리 최적화 테이블에서 트랜잭션 격리 레벨에 대한 테이블 힌트를 코딩해야합니다.



아래는이 데이터베이스 옵션을 켜는 방법을 보여주는 예입니다.



SELECT is_memory_optimized_elevate_to_snapshot_on,  * FROM sys.databases

where is_memory_optimized_elevate_to_snapshot_on = 1



SELECT SCHEMA_NAME(Schema_id) SchemaName,

name TableName,

is_memory_optimized,

durability_desc,

create_date, modify_date

FROM sys.tables

where is_memory_optimized = 1

GO



ALTER DATABASE YourDatabase SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;



--

ALTER DATABASE [dbdominos2011] REMOVE FILE memory_optimized_table;

ALTER DATABASE [dbdominos2011] REMOVE FILEGROUP InMemoryGroup;

ALTER DATABASE [dbdominos2011] ADD FILE ( NAME = N'memory_optimized_web_member', FILENAME = N'E:\DATA\memory_optimized_table_web_member' ) TO FILEGROUP InMemoryGroup;

GO
-- Backup Script
DECLARE @name VARCHAR(50) -- database name   
DECLARE @path VARCHAR(256) -- path for backup files   
DECLARE @fileName VARCHAR(256) -- filename for backup   
DECLARE @fileDate VARCHAR(20) -- used for file name  

SET @path = 'C:\Backup\'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','')

DECLARE db_cursor CURSOR FOR
      SELECT name
      FROM master.dbo.sysdatabases  
      WHERE name NOT IN ('master','model','msdb','tempdb')  
      AND DATABASEPROPERTYEX(name, 'Recovery') IN ('FULL','BULK_LOGGED') 

OPEN db_cursor    
FETCH NEXT FROM db_cursor INTO @name    

WHILE @@FETCH_STATUS = 0    
BEGIN    
      SET @fileName = @path + @name + '_' + @fileDate + '.TRN'   
      BACKUP LOG @name TO DISK = @fileName   

      FETCH NEXT FROM db_cursor INTO @name    
END    

CLOSE db_cursor    
DEALLOCATE db_cursor

'Database > SQL Server' 카테고리의 다른 글

DB 주의대상  (0) 2020.08.28
In-Memory OLTP  (0) 2020.08.28
sp_cursorfetch 및 FETCH API_CURSOR에서 사용되는 쿼리는 무엇입니까?  (0) 2020.08.28
index dmv  (0) 2020.08.27
운영 데이터 저장소 Vs 데이터 웨어하우스  (0) 2020.08.27

rpm -Uvh MySQL-server-5.6.48-1.el7.x86_64.rpm 

sudo su -

mysql_upgrade -u dominos -p

 

1) 특정 IP 접근 허용 설정

mysql> grant all privileges on *.* to ‘root’@‘192.168.56.101’ identified by ‘root의 패스워드’;

 

2) 특정 IP 대역 접근 허용 설정

mysql> grant all privileges on *.* to ‘root’@‘192.168.%’ identified by ‘root의 패스워드’;

 

3) 모든 IP의 접근 허용 설정

mysql> grant all privileges on *.* to ‘root’@‘%’ identified by ‘root의 패스워드’



grant all privileges on *.* to 'dominos'@'114.108.167.%' identified by 'ehalsh!@#123';

FLUSH PRIVILEGES;

 

DELETE FROM mysql.user WHERE Host='70.25.26.%' AND User='dominos';

FLUSH PRIVILEGES;



SELECT HOST, USER, PASSWORD FROM USER;



* 가장 많이 사용하는 - 설치하기 옵션!

   : rpm -Uvh 패키지파일이름 : 업그레이드(기존의 것을 삭제하고 설치)하며 그 과정을 자세히 보여준다.

 

* 가장 많이 사용하는 - 삭제하기 옵션!

   : rpm -e 패키지이름 : 설치된 패키지의 삭제. 버전번호등을 제외하고 패키지의 이름만 적어준다.

 

* 일반 패키지 설치

   : rpm -i 패키지파일이름 : 설치한다. (기존의 것 삭제 안함)

 

* 업그레이드

   : rpm -U 패키지파일이름 : 업그레이드한다. 업그레이드 과정을 자세히 보여주지 않는다.

 

* 설치 거부할 경우 강제 설치하기

   : rpm -Uvh 패키지파일이름 --force : 동일하거나 더 높은 버전의 패키지가 이미 설치되어 있는 경우라도 강제로 기존의 것을 삭제하고 설치한다.

 

* 의존성을 무시하고 설치하기

   : rpm -Uvh 패키지파일이름 --nodeps : 의존관계에 있는 다른 패키지가 설치되어 있지 않다해도 강제 설치한다.

 

* 의존성과 버전을 무시하고 강제설치하기

   : rpm -Uvh 패키지파일이름 --nodeps --force : 걸림없이 무조건 설치!

 

* 의존성 무시하고 삭제하기

   : rpm -e 패키지이름 --nodeps : 이 패키지를 필요로 하는 다른 패키지가 있더라도 무시하고 패키지를 삭제한다.

 

* 테스트만 해보기

   : rpm [설치/삭제 등의 옵션들] --test : 실제로 작업을 하지 않고 작업 결과에 대한 테스트만 해볼 때 사용한다.

 

* 설치된 모든 패키지 보기

   : rpm -qa : 모든 패키지 리스트 출력

   : rpm -qa | wc -l : 총 설치된 패키지 개수 출력

 

* 설치된 패키지의 정보 보기

   : rpm -qi 패키지이름

 

* 특정 패키지가 포함하고 있는 파일 목록은?

   : rpm -ql 패키지이름

 

* 패키지 파일이 포함하고 있는 파일 목록은?

   : rpm -qlp 패키지파일이름

 

* 이 파일은 어느 패키지에 포함된 걸까?

   : rpm -qf 파일이름

 

* 패키지 파일에서 패키지 정보 출력

   : rpm -qip 패키지파일이름

 

* 패키지 검사하기

   : rpm -V 패키지이름 : 설치된 패키지 검사하기. 설치 후 어떤 파일이 어떻게 바꼈는지 알 수 있다.

 

* 의존성에 문제있는 패키지는?

   : rpm -Va --nofiles : 설치된 모든 패키지를 검사하여 의존성에 문제가 있는 것을 찾아낸다

 

 

show variables like '%timeout';

 

show variables like 'max_connections';

 

show status like 'Max_used_connections';

 

show status like 'Aborted%';

 

set global max_connections=1500;

 

show global variables like 'open%';

 

show variables like 'open_files_limit';

+ Recent posts