블로그 이미지
불쥐의 눈으로 본세상 ㏈ª ☞ β┖υΕJini.κR

카테고리

분류 전체보기 (234)
By β┖υΕJini (131)
㏈ª By β┖υΕJini (103)
Total291,248
Today0
Yesterday28

sp_helpdb 실행


name 명은 실제 서비스 DB 이름이라 삭제 하였고 owner 즉 소유자가 ~~UNKNOWN~~  인걸 알수 있다.

이렇게 되어 있는 DB 를 마우스 오른쪽를 이용하여 속성을 보고자 할때 아래와 같은 Error 가 나면서 볼수 없다.



DB 속성 보기 Error

Property Owner is not available for Database '[DB명]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights.  (Microsoft.SqlServer.Smo)

소유자 지정으로 해결
USE DB명
exec sp_changedbowner @loginame = 'sa'

 

Posted by ㏈ª ☞ β┖υΕJini.κR

댓글을 달아 주세요

  1. 2012.03.01 20:21 개나리  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.
    블로그 잘 보고 있습니다. 항상 좋은 정보 감사.
    다름이 아니라 ASP 페이징..

    현재 프로시저로 짜고 있는데요. 막혀서 문의 합니다.
    문제는 목록페이지 에서 페이징을 어떻게 처리를 해야 할지 난감합니다.
    아래에 있는 [2.(쿼리 문) 리스트 목록] 부분을
    3번 프로시저에서 표현해 주고 싶습니다.
    혹시 알고 계시면 3번 프로시저 어떻게 작성할수 있는지 조언 좀 부탁합니다.
    (참고 할수 있는 자료, 구문 등)부탁합니다.

    * 환경 - MSSQL 2000 *

    CREATE PROCEDURE [dbo].[page]
    @Page [INT] , -- 페이지 번호
    @PageSize [INT] , -- 글 출력 갯수 (EX:10개, 20개)
    @SearchWord [NVARCHAR] (10) , -- 검색 필드 (이름, 제목, 내용)
    @SearchString [NVARCHAR] (30) , -- 검색 내용 (홍길동)
    @TotalRowCount [INT] OUTPUT -- 총 합계 변수
    AS

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    SET NOCOUNT ON

    SET @SearchString = '%' + @SearchString + '%'

    --// 1.총 합계, 페이지수---------------------------------------
    IF (@SearchWord = '' OR @SearchWord IS NULL OR @SearchString = '' OR @SearchString IS NULL)

    BEGIN
    SELECT @TotalRowCount = ISNULL(Count(*),0) FROM board
    END

    ELSE

    BEGIN
    SELECT @TotalRowCount = ISNULL(Count(*),0) FROM board
    WHERE
    (
    CASE @SearchWord
    WHEN 'name' Then name
    WHEN 'title' Then title
    WHEN 'text' Then text
    END
    )
    LIKE @SearchString
    END


    --// 2.(쿼리 문) 리스트 목록---------------------------------------
    SQL = "SELECT TOP " & pagesize & " * FROM board "
    SQL = SQL & " WHERE " & column & " like '%" & searchString & "%' and Num not in "
    SQL = SQL & "(SELECT TOP " & ((GotoPage - 1) * pagesize) & " Num FROM board"
    SQL = SQL & " Where " & column & " like '%" & searchString & "%'"
    SQL = SQL & " ORDER BY Num DESC) order by Num desc"


    --// 3.리스트 목록---------------------------------------
    SELECT *
    FROM board
    WHERE
    (
    CASE @SearchWord
    WHEN 'name' Then name
    WHEN 'title' Then title
    WHEN 'text' Then text
    ELSE
    @SearchQuery
    END
    )
    LIKE @SearchString
    Order By Num Desc

    GO

    • 2012.03.02 10:59 신고 Favicon of https://bluejini.co.kr BlogIcon ㏈ª ☞ β┖υΕJini.κR  댓글주소  수정/삭제

      이런식으로 하세요.

      DECLARE @SQL VARCHAR(8000)
      DECLARE @SearchWord VARCHAR(100)
      DECLARE @pagesize INT
      DECLARE @GotoPage INT
      DECLARE @searchString VARCHAR(100)
      SET @pagesize = 10
      SET @GotoPage = 1
      SET @SearchWord = 'name'
      SET @searchString = 'TEST'
      SET @searchString = '%'+@searchString+'%'
      --// 2.(쿼리 문) 리스트 목록---------------------------------------
      SET @SQL = 'SELECT TOP ' + CONVERT(VARCHAR(20),@pagesize) + ' * FROM board '
      SET @SQL = @SQL + ' WHERE name like '''+@searchString+''' and Num not in '
      SET @SQL = @SQL + '(SELECT TOP ' + CONVERT(VARCHAR(20),( ( @GotoPage - 1 ) * @pagesize ))
      +' Num FROM board'
      IF @SearchWord = 'name'
      BEGIN
      SET @SQL = @SQL + ' Where name like '''+@searchString+''''
      END
      ELSE
      IF @SearchWord = 'title'
      BEGIN
      SET @SQL = @SQL +' Where title like '''+@searchString+''''
      END
      ELSE
      BEGIN
      SET @SQL = @SQL +' Where text like '''+@searchString+''''
      END
      SET @SQL = @SQL +' ORDER BY Num DESC) order by Num desc'
      PRINT @SQL

  2. 2012.03.02 18:06 개나리  댓글주소  수정/삭제  댓글쓰기

    김경진 님 답변 정말 고맙습니다.
    너무 감동~~ 완성해주셔서 너무 감사합니다.
    어제, 하루종일 머리를 쫘 내도...ㅠㅠ

    역시! 고수님은 틀려.. 정말 고맙습니다~

  3. 2012.03.05 13:46 개나리  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.
    김경진님..
    프로시저 작성중.. 궁금한것이 있어서요. 죄송하지만 아래 코드 좀 봐주세요.

    문의) 프로시저 코드를 줄일 수 있는 방법 좀 조언해 주세요.


    IF (@SearchWord = '' OR @SearchWord IS NULL OR @SearchString = '' OR @SearchString IS NULL)

    Begin

    --/ 검색 컬럼 및 검색어 없는 경우 - 이전글/--
    if Exists ( select * from address where idx < @intIdx )
    Begin
    select @intPrevIdx = max(idx) from address where idx < @intIdx
    select @strPrevName = name from address where idx = @intPrevIdx
    End

    --/ 검색 컬럼 및 검색어 없는 경우 - 다음글/--
    if Exists ( select * from address where idx > @intIdx )
    Begin
    select @intNextIdx = min(idx) from address where idx > @intIdx
    select @strNextName = name from address where idx = @intNextIdx
    End

    End

    ELSE

    Begin

    --/ 검색 컬럼 및 검색어 있는 경우 - 이전글/--
    if Exists (
    SELECT idx, title, day FROM ddress
    WHERE
    (
    CASE @SearchWord
    WHEN 'name' Then name
    WHEN 'title' Then title
    WHEN 'text' Then text
    END
    )
    LIKE @SearchString AND idx < @intIdx
    )


    Begin
    select @intPrevIdx = max(idx) from address where idx < @intIdx
    select @strPrevName = name from address where idx = @intPrevIdx
    End

    --/ 검색 컬럼 및 검색어 있는 경우 - 다음글/--
    if Exists (
    SELECT idx, title, day FROM ddress
    WHERE
    (
    CASE @SearchWord
    WHEN 'name' Then name
    WHEN 'title' Then title
    WHEN 'text' Then text
    END
    )
    LIKE @SearchString AND idx > @intIdx
    )

    Begin
    select @intNextIdx = min(idx) from address where idx > @intIdx
    select @strNextName = name from address where idx = @intNextIdx
    End

    End

  4. 2012.03.07 11:36 신고 Favicon of https://bluejini.co.kr BlogIcon ㏈ª ☞ β┖υΕJini.κR  댓글주소  수정/삭제  댓글쓰기

    특별히 줄일께 없어 보입니다.^^

  5. 2012.03.07 11:46 개나리  댓글주소  수정/삭제  댓글쓰기

    답변 감사합니다.
    즐거운 하루 되세요.

  6. 2012.03.13 13:55 개나리  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.
    궁금해서 질문 올립니다.
    글을 어떻게 써야 할지 몰라..죄송합니다.

    많은 분들이 프로시저 생성 후 ASP 에서 "ADODB.Command"객체 사용하면 시간(분/초)및 부하가 많이 단축 되다고 하는데.
    막상 테스트 해보니, 페이징은 오히려 ASP 페이지 에서 바로 날쿼리 돌리는 것이 효과적인것 같습니다.

    1)프로시저 페이징 쿼리 생성 (동적 쿼리) -> ASP 에서 "ADODB.Command"객체 사용
    2)ASP 페이지 에서 바로 날쿼리 돌림.
    -> 비교시 오히려 2번이 시간(분/초) 5 ~ 7배 빠름.. 미치겠다.

    질문1)몇 몇 공개된 소스를 봐도 목록(리스트) 부분은 ASP 페이지에서 바로 날쿼리로 돌림.. 이유가 있나요?

    질문2)프로시저에서 페이징 부분을 정적 쿼리문으로 생성 가능한가요?
    (정적으로 생성하고 싶어도 -> SELECT TOP () <- 이부분에서 계속 오류가 발생..ㅠㅠ)

    질문3)현장에서는 예를들어 게시판 목록 부분을 어떻게 처리하는지 궁금합니다.
    조언좀 부탁합니다.

  7. 2012.03.13 15:45 신고 Favicon of https://bluejini.co.kr BlogIcon ㏈ª ☞ β┖υΕJini.κR  댓글주소  수정/삭제  댓글쓰기

    우선 SQLER 에 있는 http://www.sqler.com/332104 참고 한번 해보세요
    sp_executesql 를 사용해서 Perpared 로 사용하고 계신가요.

    그리고 속도 비교는 어떻게 비교 하신건가요. SQL 프로파일러로 혹시 비교해보신건가요.

  8. 2012.03.14 11:33 개나리  댓글주소  수정/삭제  댓글쓰기

    김경진님..
    답변 정말 감사합니다.
    역시 대단하세요.. 어떻게 문제가 있는 부분을 아셔죠?
    그리고 참고 할수 있는 예제. 고맙습니다. ^^